敏捷软件开发 笔记--单一职责原则(SRP)

原创 2007年09月12日 15:17:00
就一个类而言,应该仅有一个引起它变化的原因。
原因:
1每一个职责都是变化的一个轴线,当需求变化时,该变化会反映为类的职责的变化。如果一个类承担了多于一个的职责,那么引起它变化的原因就会有多个。
2如果一个类承担的职责过多,就等于把这些职责耦合在了一起。一个职责的变化可能会削弱或则抑制这个类完成其他职责的能力。
什么是职责?
在SRP中,把职责定义为“变化的原因”。如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。
软件的臭味?
1僵化性:很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其他改动。
2脆弱性:对系统的改动会导致系统总和改动的地方在概念上无关的许多地方出现问题。
3牢固性:很难解开系统的纠结,使之成为一些可在其他系统中重用的组件。
4粘滞性:做正确的事情比做错误的事情要困难。
5不必要的复杂性:设计中包含有不具任何直接好处的基础结构。
6不必要的重复:设计中包含有重复的结构,而该重复的结构本可以使用单一的抽象进行统一。
7晦涩性:很难阅读,理解。没有很好地表现出意图。 

敏捷软件开发 读书笔记——OO五大原则(1.SRP 单一职责原则)

一点说明:OO的五大原则是指SRP、OCP、LSP、DIP、ISP。这五个原则是书中所提到的。除此之外,书中还提到一些高层次的原则用于组织高层的设计元素,这些放到下次再写。当然,OO设计的原则可能不止...

软件设计原则----单一职责原则(SRP)

陈述: 就一个类而言,应该只有一个导致其变化的原因 分析: 一个职责就是一个变化的轴线。 一个类如果承担的职责过多,就等于将这些职责耦合在一起。一个职责的变化可能会虚弱或者抑止这个类完成其它职...

软件设计原则----单一职责原则(SRP)

陈述: 就一个类而言,应该只有一个导致其变化的原因 分析: 一个职责就是一个变化的轴线。 一个类如果承担的职责过多,就等于将这些职责耦合在一起。一个职责的变化可能会虚弱或者抑止这个类完成其它职...

单一职责原则(SRP)

  • 2008年11月03日 11:52
  • 41KB
  • 下载

六大原则之“单一职责原则(SRP)“笔记

1.单一职责原则,(Single Responsibility Principle). 定义:There should never be more than one reason for a c...

js单一职责原则(SRP)

设计原则和编程技巧 单一职责原则(SRP) 就一个类而言,应该仅有一个因其他变化的原因。在JavaScript中,需要用到类的场景并不太多,单一职责原则更多是被运用在对象或者方法级别上...

体现SRP(单一职责原则)的两种模式——工厂模式和命令模式

php中用到SRP的其中两种设计模式,命令模式和工厂模式
  • dnidong
  • dnidong
  • 2017年02月24日 09:34
  • 73

面向对象设计之单一职责原则(SRP)

单一职责的核心思想就是:系统中的每一个对象都应该只有一个单独的职责,而所有对象所关注的就是自身职责的完成:        目的:高内聚,低耦合        单一职责也就是单一变化原因。       ...

深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP

前言 Bob大叔提出并发扬了S.O.L.I.D五大原则,用来更好地进行面向对象编程,五大原则分别是: The Single Responsibility Principle(单一职责SRP...

深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP

前言 Bob大叔提出并发扬了S.O.L.I.D五大原则,用来更好地进行面向对象编程,五大原则分别是: The Single Responsibility Principle(单一职责SRP)T...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:敏捷软件开发 笔记--单一职责原则(SRP)
举报原因:
原因补充:

(最多只允许输入30个字)