摘抄自 《敏捷软件开发--原则、模式与实践》
SRP
单一职责原则
就一个类而言,应该仅有一个引起它变化的原因
OCP
开放-封闭原则 软件实体(类、模块、函数等)应该是可以扩展的,但是不可修改
LSP
Liskov替换原则 (里氏替换原则)
子类型必须能够替换掉它们的基类型
DIP
依赖倒置原则 抽象不应该依赖于细节。细节应该依赖于抽象。
ISP
接口隔离原则 不应该强迫客户依赖于他们不用的方法。接口属于客户,不属于它所在的类层次结构
REP
重用发布等价原则 重用的粒度就是发布的粒度。
CCP
共同封闭原则
包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则对该包中的所有类产生影响,而对于其他的包不造成任何影响。
CRP
共同重用原则 一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么就要重用包中的所有类。
ADP
无环依赖原则 (交叉引用)
在包的依赖关系图中不允许存在环。
SDP
稳定依赖原则 朝着稳定的方向进行依赖。
SAP
稳定抽象原则 包的抽象程度应该和其稳定程序一致。
注:SDP+SAP=针对包的DIP原则 (书中235页)