The SOLID principles are the five principles of object-oriented design introduced or documented by Robert C. Martin.

- Stackoverflow.com Wiki
8 articles, 2 books. Go to books ↓

The goal behind ISP is that no client consuming an interface should be forced to depend on methods it does not use.


Bertrand Meyer coined the term Open/Closed Principle which appeared in his book titled Object Oriented Software Construction in 1988. The principle reads “software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification“.


In this article we'll look at how the Single Responsibility Principle is subjective, but also how the principle is still helpful in the code.


Officially the open/close principle states that: Software entities should be open for extension, but closed for modification. The idea here is that code that is tried and tested, shouldn't have to change because you want to add some functionality to it.


If you’re building a service of your own, you’ll often want to be able to use it on multiple platforms at once. Following time-tested OOD (object oriented design) principles makes your code more resilient and more easily extended.


The fact that SOLID is being criticized isn’t a bad thing. The problem is that I don’t think the arguments against it are really that good. There’s some valid criticism, but it seems that a large portion of it comes from some misunderstanding of the principles. Some people even read obscure agendas in them. This post is meant to investigate some of the more common criticisms of the SOLID principles, offering my take on why I believe they’re not quite justified.


In this article I want to briefly go through SOLID principles (acronym that stands for five basic principles of object-oriented programming and design) supplying each of them with real-world visual examples to make those principles more understandable, readable and memorizable.


Free books