摘要:从这一篇开始,讲一讲消除这种设计弊端的一些方式。如果一个类,承担的职责过多,就等于把这些职责耦合在了一起,一个职责的变化可能会削弱或者抑制这个累完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。那么,什么是职责呢?在SRP中,职责被定义为“变化的原因”---a reason for change。如果我们能够想到多于一个的动机去改变这个类,那么这个类就具有多于一个的职责。
阅读全文
随笔分类 - 敏捷开发
摘要:最近一直在读《敏捷软件开发:原则、模式与实践》,做做笔记。第一篇 软件设计存在的问题我们知道,系统的设计,是存在于头脑中的衣服至关重要的图像。即使我们在一开始的设计阶段,就非常清晰的了解了需求,甚至于在发布的时候,依然清楚。但是在接下来,随着不断的使用,弊端、不足会一一的被暴露出来。系统变得越来越难以维护,最后,即使仅仅进行最简单的更改,也需要花费巨大的努力。笔者提出了一下观点:当软件出现了下面任何一种气味时,就表明软件正在腐化:1、僵化性:很难对系统进行改动。因为牵扯到其他太多部分的改动。2、脆弱性:对系统的改动会导致心痛中和改动的地方在概念上无关的许多地方出现问题。(开发人员就像是一只不停
阅读全文