“SOLID” Design Principle

Today morning, I started reading book Practical Object-Oriented Design in Ruby by Sandi Metz. I am going through first chapter and came across this acronym, SOLID. This represents five of well known object oriented design principles. SOLID stands for Single Responsibility, Open-Closed, Liskov Substitution, Interface segregation, and Dependency Inversion Principle.

Other principles mentioned are DRY (Don’t Repeat Yourself) and LoD (Law of Demeter).

I have heard a lot about this book and its author Sandi, and looking to learn, improve and implement better object oriented principles :)