SOLID

  • Single Responsibility Principle (SRP), orange grade:
    • A class has only one reason for changes.
  • Open Closed Principle (OCP), green grade:
    • A class is open for enhancements but closed against modifications.
  • Liskov Substitution Principle (LSP), yellow grade:
    • A subtype behaves same as its base type.
  • Interface Segregation Principle (ISP), yellow grade:
    • Clients shall be not confused with details which they do not need.
  • Dependency Inversion Principle (DIP), yellow grade:

    • High-level classes must not depend on low-level classes, but both on interfaces.

    • Interfaces must not depend on details, but details on interfaces.