Object-Oriented Design

SOLID Design Principles

Learned in CS247. This is Foundational Knowledge. Also learning more deeply through Clean Architecture.

I need to know this like the back of my hand.

The purpose of SOLID Design Principles is to reduce software rot (the property that long lasting codebases become more difficult to maintain).

SOLID is an acronym of 5 principles:

  1. Single Responsibility Principle
  2. Open-Closed Principle
  3. Liskov Substitution Principle
  4. Interface Segregation Principle
  5. Dependency Inversion Principle