小菜学设计模式 单一职责原则
来源:互联网 发布:transactsql和sql区别 编辑:程序博客网 时间:2024/06/05 04:20
单一职责原则:就一个类而言,应该仅有一个引起它变化的原因!
如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受意想不到的破坏!
单一职责原则,其核心的思想是:
一个类,最好只做一件事,只有一个引起它变化的原因。
一个优良的系统设计,强调模块间保持低耦合、高内聚的关系,在面向对象设计中这条规则同样适用,所以面向对象的第一个设计原则就是:单一职责原则(SRP,Single Responsibility Principle)。
单一职责,强调的是职责的分离,在某种程度上对职责的理解,构成了不同类之间耦合关系的设计关键,因此单一职责原则或多或少成为设计过程中一个必须考虑的基础性原则。
单一职责原则可以看作是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而极大的损伤其内聚性和耦合度。单一职责,通常意味着单一的功能,因此不要为类实现过多的功能点,以保证实体只有一个引起它变化的原因。
关于单一职责原则,建议是:
- 一个类只有一个引起它变化的原因,否则就应当考虑重构。
- SRP由引起变化的原因决定,而不由功能职责决定。虽然职责常常是引起变化的轴线,但是有时却未必,应该审时度势。
- 测试驱动开发,有助于实现合理分离功能的设计。
- 可以通过Façade模式或Proxy模式进行职责分离。
二〇〇九年十一月五日
- 小菜学设计模式 单一职责原则
- 设计模式-单一职责原则
- 设计模式-单一职责原则
- 设计模式---->单一职责原则
- 设计模式---单一职责原则
- 设计模式:单一职责原则
- 设计模式 单一职责原则
- 设计模式-单一职责原则
- 设计模式:单一职责原则
- 【设计模式】单一职责原则
- 设计模式:单一职责原则
- 设计模式-单一职责原则
- 设计模式-单一职责原则
- 设计模式:单一职责原则
- 设计模式:单一职责原则
- 设计模式-单一职责原则
- 设计模式六大原则:单一职责原则
- 设计模式六大原则-------单一职责原则
- 初探Win2000索引服务的WEB应用
- 网络安全系列连载(4)网站服务器与数字证书
- 当代企业电子商务的市场战略
- 关于电子商务的分类及模式
- 用EditPlus搭建汇编编译环境
- 小菜学设计模式 单一职责原则
- Andorid环境Python编程
- cfloop标签的使用(coldfusion循环标签)
- 如何进行SQL性能优化?-借助Profile
- 我把爱情煲成汤:一段伤感的小资爱情 楔子(2)
- 论会计网络化的计算机舞弊和审查
- 跪求!!!!Verifying DMI Pool Data....解决方法!!!要真正的解决方法!!!!
- 如何从零开始开发一款嵌入式产品
- 浅谈VB编程中网格控件的选用及使用方法