在java 设计模式中存在几个重要的设计原则:
1、里氏代换原则(LSP)
里氏代换原则的严格表达是:
如果对每一个类型为T1的对象O1,都有类型为T2的对象O2,使得以T1定义的所有程序P在所有的对象O1都代换成O2时,程序P的行为没有变化,那么类型T2是类型T1的子类型。
2、依赖倒转原则(DIP)
依赖倒转原则的表述是:
抽象不应当依赖于细节;细节应当依赖于抽象。(Abstractions should not depend upon details. Details should depend upon abstractions)。他的另外一种表述是: 要针对接口编程,不要针对实现编程(Program to an interface, not an implement-action )
3、接口隔离原则(ISP )
使用多个专门的接口比使用单一的总接口要好。
4、合成/聚合复用原则(CARP)
成/聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新的对象一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。
这个原则还有另外一个表书:要尽量使用合成/聚合,尽量不要使用继承
5、迪米特法则(LOD)
表书众多!