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