※ source

  • Single Responsibility Principle
  • Open/Closed Principle: Open for extension, but closed for modification.
  • Liskov Substitution Principle: This is the foundation where interface and inheritance can work.
  • Interface Segregation Principle
  • Dependency Inversion Principle