Skip to content
- Single Responsibility Principle SRP, Orange degree
- A class should only have one reason for changes.
- Open Closed Principle OCP, Green degree
- A class should be open to extensions, but closed to modifications.
- Liskov Substitution Principle LSP, Yellow degree
- A subtype always behaves like its basetype.
- Interface Segregation Principle ISP, Yellow degree
- Clients should not be burdened with details that they do not need.
- Dependency Inversion Principle DIP, Yellow degree
- High-level classes should not be dependent on low-level classes, but both should be dependent on interfaces.
- Interfaces should not be dependent on details, but details of interfaces.