• Single Responsibility Principle (one reason to change)
  • Open/Closed Principle
  • Liskov Substition Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle