SOLID principles represent a set of principles that, if implemented properly should improve our code significantly.

As with any other principle in life, every SOLID principle can be misused and overused to the point of being counterproductive. Instead of getting an understandable, maintainable and flexible code, we could end up with the code that’s in the worse shape than without SOLID.

So, careful consideration and implementing these principles only where needed is the key to the clean codebase.

SOLID is a mnemonic acronym and each of the letters in it stands for:

The source code for this series of articles can be found in this GitHub repo. You can switch to different branches to get to the different parts of the series.

We hope these articles will help you discern when and how to implement these principles the right way.