SOLID Design Patterns

  • Single Responsibility Principle. Do one thing and do it well.
  • Open/Closed Principle. Be open for extension, closed for modification.
  • Liskov Substitution Principle. Derived classes can stand in for base classes. Code to interfaces.
  • Interface Segregation Principle
  • Dependency Inversion. Depend on abstractions, not concrete implementations.

DRY

Don’t Repeat Yourself

Separation of Concerns

Similar to Single Responsibility Principle (Ex. Data Access Layer)