设计模式原则
设计模式原则有七种:单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成复用原则、迪米特法则。
单一职责原则(SRP):
定义:一个对象应只包含单一的职责,并且该职责完全被封装在一个类中。
分析:1、单一原则是实现高内聚、低耦合的指导方针。
2、一个类承担的职责越多它被复用的可能性越小。
开闭原则(OCP):
定义:一个软件应该对拓展开放、对修改关闭。
里氏代换原则(LSP):
定义:所有应用基类的地方必须能透明地使用子类对象。
依赖倒转原则(DIP):
定义:针对接口编程、不针对实现编程。
分析:1、代码要依赖抽象的类、而不是依赖实体类
2、如果开闭原则是面向对象设计的目标的话,那么依赖倒转原则就是面向对象设计的主要手段。
接口隔离原则(ISP):
定义:1、客户端不应该依赖那些不需要的接口
2、一旦一个接口太大,则需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的接口即可
合成复用原则(CRP):
定义:尽量使用对象组合,而不是继承来达到复用的目的
分析:在一个对象里通过关联(包括组合关系和聚合关系)来使用一些已有的对象使之成为新对象的一部分;简言之:多用组合/聚合关系,少用继承
2、继承复用:实现简单,易于扩展;没有足够的灵活性
组合/聚合复用:耦合度低,选择性地调用成员对象的操作;可在运行时动态进行。
迪米特法则(LOD):
定义:1、不要和陌生人说话;2、至于你的直接朋友通讯 ;
分析:一个软件实体应当尽可能少的与其他实体发生作用。