Skip to main content



SOLID Principles

In this post, I am going to discuss SOLID principles, yes I mean the holy grail of OOP that empower developers to produce better software. 

Let's start with the definition.SOLID Principlesis an acronym for five design principles intended to make software design more understandable, flexible and  maintainable; including Single Responsibility principle, Open-Closed principle, Liskov Substitution principle, Interface Segregation principle and Dependency Inversion principle.

The consequence of following SOLID principles will lead developers towards more extendable, logical and easier to read software; and even thought it seems like an irony to have a SOLID software but we all hope to these principles guide us toward more understandable, flexible and maintainable software. Now let's get into the principles' details.

Single Responsibility Principle (SRP)
A class should have only a single responsibility, that is, only changes to one part of the software's specification should be …

Latest Posts

What is a Perceptron?

Lazy Load Pattern


Query Object Pattern