Many of the old programmers have adopted SOLID principles and it is taught in lots of schools these days. Yet I find many people not clearly understanding SOLID principles. I think these principles are fundamental to creating good object oriented software and every developer should learn them. So I have series of posts for these principles
Single responsibility: A piece of software always have a single responsibility!
Open-Closed principle: Software is open for extension and closed for modification.
Liskov’s Substitution principle: Child class object can be substituted for a base class variable.
Interface segregation: Many interfaces (client specific) is better than the single monolithic interface.
Dependency Inversion : Just depend on abstractions and not implementations.
Learning SOLID principles have changed my programming life and the real one. We shall see each of these principles in more detail in the coming posts.