博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大话设计模式读书笔记(三) 单一职责原则和开放-封闭原则和依赖倒转原则...
阅读量:5058 次
发布时间:2019-06-12

本文共 741 字,大约阅读时间需要 2 分钟。

大多数时候,一件产品简单一些,职责单一一些。或许是更好的选择

单一职责原则:

就一个类而言,应该有且仅有一个引起它变化的原因。

如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。

如果你能想到多于一个的动机去改变这一个类,那么这个类就有多于一个的职责,就应该考虑类的职责分离。

开放封闭原则:

是说软件实体(类、模块、函数等等)应该可以扩展,但不可以修改。对于扩展是开放的,对于更改是封闭的。关键是抽象,将一个功能的通用部分和实现细节部分清晰的分离开来。
无论模块是多么封闭,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对他设计的模块应该对那种变化封闭进行选择。他必须猜测出最有可能发生的变化种类,然后构造抽象来隔离这些变化。
开放封闭原则是面向对象设计的核心所在,遵循这个原则可以带来面向对象技术所声称的巨大好处。也就是可维护,可扩展,可复用,灵活性好。开发人员应该仅对程序中呈现出频繁变化的那些部分作出抽象。然而,对于应用程序的每一个部分都刻意地进行抽象同样不是一个好主意。拒绝不成熟的抽象和抽象本身一样重要。

依赖倒转原则:

1、高层模块不应该依赖低层模块。两个都应该依赖抽象。
2、抽象不应该依赖细节,细节应该依赖抽象。
依赖倒转原则其实是面向对象设计的标志,用那种语言来编写程序不重要,如果编写时考虑的是如何针对抽象变成而不是针对细节变成,即程序所有的依赖关系都终止于抽象类或接口,那就是面向对象的设计,反之则是面向过程的设计。

 

转载于:https://www.cnblogs.com/xsyfl/p/6842519.html

你可能感兴趣的文章
泛型第23条:请不要在新代码中使用原生态类型
查看>>
对象方法(转载)Java中finalize的使用
查看>>
一个截屏工具制作的全过程记录——如何使用“拿来主义”
查看>>
了解SpringMVC框架及基本工作流程
查看>>
软件开发之能力素养
查看>>
5.28 周末笔记
查看>>
git 永久性设置密码
查看>>
自拍机器人(摄影 拍照 录像)
查看>>
Installation for TinyOS on Ubuntu 16.04
查看>>
h5页面在不同ios设备上的问题总结
查看>>
Python的map、filter、reduce函数
查看>>
前端面试js题
查看>>
51NOD 大数加法以及python写法
查看>>
java四种数组排序
查看>>
(三)、
查看>>
crud springmvc
查看>>
Java对象初始化详解
查看>>
linux IPtable防火墙 禁止和开放端口
查看>>
Rails应用系列(1):初识Rails
查看>>
P3378 【模板】堆
查看>>