1.SRP(Single Responsibility Principle) 单一职责原则
单一职责原则就是一个设计元素只做一件事
2.OCP(Open Close Principle) 开闭原则
Open for extension , Close for Modification ,对修改关闭,对扩展开放,便于重用
3.LSP(Liskov Substitution Principle) 里氏替换原则
同一个继承体系中的对象应该具有共同的行为特征
DBC (Design By Contract) 契约式设计:
每个方法调用之前,需要校验传给该方法的参数的正确性,只有正确才能执行该方法,否则视为
调用方违反契约,不予执行,这称前置条件。
校验正确后,方法必须执行,并且确保执行结果符合契约,这称为后置条件。
上述为单个对象的约束条件,为了满足LSP,当存在继承关系时,子类中方法的前置条件必须与超类中
被覆盖的方法的前置条件相同或者更为宽松,而子类中方法的后置条件比超类中的后置条件相同或者
更为严格
4.DIP(Dependency Inversion Principle)依赖倒置原则
要依赖于抽象,不要依赖于具体。依赖于抽象耦合
抽象不应依赖于细节,细节应依赖于抽象
针对接口编程,而不是针对于实现编程
5.ISP(Interface Segregation Principle)接口分离原则
使用多个专门的接口比使用总接口好