- 单一职责原则(The Single Responsibility Principle,简称SRP)
- 开放-封闭原则(The Open-Close Principle,简称OCP)
- Liskov替换原则(The Liskov Substitution,简称LSP)
- 依赖倒置原则(The Dependency Inversion Principle,简称DIP)
- 接口隔离原则(The Interface Segregation Principle,简称ISP)
- 重用发布等价原则(The Reuse-Release Equivalence Principle,简称REP)
- 共同重用原则(The Common Reuse Principle,简称CRP)
- 共同封闭原则(The Common Close Principle,简称CCP)
- 无环依赖原则(The No-Annulus Dependency Principle,简称ADP)
- 稳定依赖原则(The Steady Dependency Principle,简称SDP)
- 稳定抽象原则(The Steady Abstract Principle,简称SAP)
其中1-5的原则关注所有软件实体(类、模块、函数等)的结构和耦合性,这些原则能够指导我们设计软件实体和确定软件实体的相互关系;6-8的原则关注包的内聚性,这些原则能够指导我们对类组包;9-11的原则关注包的耦合性,这些原则帮助我们确定包之间的相互关系。