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.
Don’t Repeat Yourself
Separation of Concerns
Similar to Single Responsibility Principle (Ex. Data Access Layer)