A class of design principles
1 Dependency Inversion Principle - Dependency Inversion Principle (DIP)
2 Liskov Substitution Principle - Liskov Substitution Principle (LSP)
3 Interface Segregation Principle - Interface Segregation Principle (ISP)
4 Single Responsibility Principle - Single Responsibility Principle (SRP)
5 Open-Closed Principle - The Open-Closed Principle (OCP)
Two package design principles
6 Reuse Release Equivalency Principle - Release ReuseEquivalency Principle (REP)
7 Acyclic Dependencies Principle - The AcyclicDependencies Principle (ADP)
8 Stable Dependencies Principle - The StableDependencies Principle (SDP)
9 Stable Abstract Equivalence Principle - The StableAbstractions Principle (SAP)
10 The Common Closure Principle (CCP)
11 The Common Reuse Principle (CRP)
Three principles of expansion
12 Law of Demeter - Least Knowledge Principle (LKP)
13 Black Box Principle - BBP (Black Box Principle)
14 Default Abstraction Principle - DAP (Default Abstraction Principle)
15 Interface Design Principle - IDP (Interface Design Principle)
16 Do not construct concrete The superclass principle of DCSP (Don't Concrete SupperclassPrinciple)