Cavenaghi 的专栏

如果老天不是阿根廷的球迷,那我问你为什么你抬头看到的总是蓝天和白云!...

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

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

没有更多推荐了,返回首页

关闭
关闭