大话设计模式- 单一职责原则、开放-封闭原则、依赖倒置原则

大话设计模式- 单一职责原则、开放-封闭原则、依赖倒置原则、里氏代换原则

1 单一职责原则

如果一个类承担了过多的职责,就等于把这些职责耦合在一起。

如果我们修改其中一个职责,很有可能会对其他职责造成抑制和破坏。

这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏ASD。

软件真正要做的许多内容,就是发现职责,并把这些职责相互分离[ASD]。

那么,我们怎么判断一个类中有多少种在职责呢?

如果我们能想到多于一个的动机去改变一个类,那这个类就是具有多于一个的职责[ASD]。

此时我们就应该考虑类的职责分离。

2 开放-封闭原则

3 依赖倒置原则

 A: 高层模块不应该依赖底层模块,二者应该都依赖抽象。
 B: 抽象不应该依赖细节,细节应该依赖抽象。

说白了,就是要针对接口编程,不要针对细节编程

我们程序的上层逻辑经常会遇到保存数据的需求。我们可以很方便的调用一些封装好的第三方库X。但我们的保存数据的需求不止一个,我们就会在很多地方调用X。 如果说过了一段时间,突然 X 宣布不再维护或者不再适用我们程序运行的系统了,我们该怎么办呢?

我们只能找到所有应用X的逻辑,并将他修改T_T。

上面这个🌰就是高层模块依赖底层模块的典型。同样的栗子还有日志打印等等。

所以我们需要提供一个标准的接口中间层,
用她来实现高层模块和X的关系。让二者都依赖她。

只要接口是稳定的,那么高层或者低层模块任何一方的更改都是不用担心的。二者都能够在不影响对方的情况下,很容易的被复用。

这才是最好的办法。

4 里氏代换原则:

稍后再更,溜了溜了....

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 单一职责原则(SRP): 就一个类而言,应该仅有一个引起它变化的原因。 如果一个类承担的职责过多,就等于把这些职责...
    芝麻酱的简书阅读 283评论 0 0
  • 目录: 设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒...
    加油小杜阅读 742评论 0 1
  • 转载标注声明:http://www.uml.org.cn/sjms/201211023.asp 目录:[设计模式六...
    Bloo_m阅读 739评论 0 7
  • 设计模式六大原则 设计模式六大原则(1):单一职责原则 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类...
    viva158阅读 786评论 0 1
  • 今天继续来复习刘友龙老师语录:1、先谈情,再说事。2、说话靠心不靠嘴。3、理越多,情越少,结果赢了理,输了情。4、...
    尤占芳阅读 232评论 0 0