加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

2设计模式基本原则

发布时间:2020-12-14 04:25:33 所属栏目:大数据 来源:网络整理
导读:最终目的:高内聚,低耦合 1)? 开放封闭原则? (OCP,Open For Extension,Closed For Modification Principle) 类的改动是通过增加代码进行的,而不是修改源代码。 2)? 单一职责原则? (SRP,Single Responsibility Principle) 类的职责要单一,对外只提供一种功

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

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

类的改动是通过增加代码进行的,而不是修改源代码。

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

类的职责要单一,对外只提供一种功能,而引起类变化的原因都应该只有一个。

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

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

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

不应该强迫客户的程序依赖他们不需要的接口方法。一个接口应该只提供一种对外功能,不应该把所有操作都封装到一个接口中去。

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

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

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

如果使用继承,会导致父类的任何变换都可能影响到子类的行为。

如果使用对象组合,就降低了这种依赖关系。

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

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

?

案例图

开闭原则案例

?

?

依赖倒转

1)

?

2)

?

?

迪米特法则

1)和陌生人说话

2)不和陌生人说话

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

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读