The SOLID principles of Object Oriented Design include these five principles:

SRP - Single Responsibility Principle

OCP - Open/Closed Principle

LSP - Liskov Substitution Principle

ISP - Interface Segregation Principle

DIP - Dependency Inversion Principle

Generally, software should be written as simply as possible in order to produce the desired result.  However, once updating the software becomes painful, the software's design should be adjusted to eliminate the pain.  Often, these principles, in addition to the more general Don't Repeat Yourself principle, can be used as a guide while refactoring the software into a better design.


Agile Principles, Patterns, and Practices in C# - Hardcover, - Robert C. Martin, Micah Martin

SOLID Principles of Object Oriented Design - Pluralsight - Steve Smith

Edit this page on GitHub

On this page