This post is to provide an easy to understand idea about the implementation of one of the most “talked about” principles of Object Oriented Programming - SOLID principles. As a programmer, there might come a time when we are so consumed in finishing the task at hand that we forget the world around us. And in the very same world, somewhere lost are the programming principles that we read about and planned to use next time. So let’s try to look at the SOLID principles in one of the simplest way possible so that we can practice them while coding. So let’s dig in to the SOLID principles at a glance. Single Responsibility: A Class should be responsible for a single task. Open-Close Principle: A Class should be open to extension and close to modification. Liskov Substitution: A derived Class can be substituted at places where base Class is used. Interface Segregation: Don’t make FAT Interfaces. i.e. Classes don’t have to override extra agreements that are not needed fo...