2设计模式基本原则

最终目的:高内聚,低耦合编程

1)  开放封闭原则  (OCP,Open For Extension, Closed For Modification Principle)3d

类的改动是经过增长代码进行的,而不是修改源代码。对象

2)  单一职责原则  (SRP,Single Responsibility Principle)blog

类的职责要单一,对外只提供一种功能,而引发类变化的缘由都应该只有一个。继承

3)   依赖倒置原则 (DIP,Dependence Inversion Principle)接口

依赖于抽象(接口),不要依赖具体的实现(类),也就是针对接口编程。ip

4)   接口隔离原则 (ISP,Interface Segegation Principle)ci

不该该强迫客户的程序依赖他们不须要的接口方法。一个接口应该只提供一种对外功能,不该该把全部操做都封装到一个接口中去。虚拟机

5)   里氏替换原则 (LSP, Liskov Substitution Principle)it

        任何抽象类出现的地方均可以用他的实现类进行替换。实际就是虚拟机制,语言级别实现面向对象功能。

6)   优先使用组合而不是继承原则(CARP,Composite/Aggregate Reuse Principle)

若是使用继承,会致使父类的任何变换均可能影响到子类的行为。

若是使用对象组合,就下降了这种依赖关系。

7)  迪米特法则(LOD,Law of Demeter)

一个对象应当对其余对象尽量少的了解,从而下降各个对象之间的耦合,提升系统的可维护性。例如在一个程序中,各个模块之间相互调用时,一般会提供一个统一的接口来实现。这样其余模块不须要了解另一个模块的内部实现细节,这样当一个模块内部的实现发生改变时,不会影响其余模块的使用。(黑盒原理)

 

案例图

开闭原则案例

 

 

依赖倒转

1)

 

2)

 

 

迪米特法则

1)和陌生人说话

2)不和陌生人说话

3) 与依赖倒转原则结合 某人和 抽象陌生人说话  让某人和陌生人进行解耦合

 

相关文章
相关标签/搜索