- 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.