The SRP single responsibility principle is in a case, there should be only one reason why it causes it. OCP Open ---- Closed Principles Software entity (class, modules, functions, etc.) should be available, but cannot be modified. The LSP Liskov replacement principle subtype must be able to replace their parent types. DIP reliance inverted principles abstraction should not depend on the details. Details should depend on abstraction. The principle of ISP interface isolation should not force customers to rely on how they don't need. The interface belongs to the customer and does not belong to the class hierarchy. The granularity of the REP reuse publishing equivalent principle is that all classes of the packets published in the Package CCP jointly closed principle should be commonly closed. A variation will have an impact on a package, which will have an impact on all classes in the package, and no impact on other packets. All classes in a package should be commonly reused in principle of CRP. If you reuse a class in the package, you have to reusable all classes in the package. The ADP ringless dependence principle is not allowed in the rendering of the package. The SDP stability dependence principle is in a stable direction to rely on SAP stable abstract principles. The degree of abstraction should be consistent with its stability.