当前位置:   article > 正文

《敏捷软件开发:原则、模式与实践》7-12章读书笔记_《敏捷软件开发:原则、模式与实践》7-12章读书笔记

《敏捷软件开发:原则、模式与实践》7-12章读书笔记

1. 设计臭味及敏捷解决

软件设计中会存在以下臭味:

  1. 僵化:单一的改动会导致有依赖关系的模块中的连锁改动
  2. 脆弱:改动造成没有概念关联的地方出问题
  3. 牢固:将部分功能分离出来花费的努力、风险巨大,难以重用
  4. 不必要的复杂:为将来的变化做过度设计
  5. 不必要的重复:复制粘贴产生的重复的代码,表示忽视了抽象
  6. 晦涩:代码难以读懂

敏捷设计解决设计中的臭味,解决方式是每次迭代中使用设计原则、模式解决设计中的臭味,每次迭代结束时保证设计简单、干净,而不是在一开始对庞大的设计应用设计原则、模式。(没有臭味时不使用设计原则、模式)

2. 单一职责原则

定义:一个类应该只有一个引起它变化的原因。

interface Modem{
	void dial(String pno);
	void hangup();
	void send(char c);
	char recv();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Modem接口有2个职责:

  1. 连接管理。dial、hangup是连接管理。
  2. 数据通信。send、recv是数据通信。

使用单一职责时要注意职责和变化的原因的对应关系(变化指的是需求的变化):像上面Modem接口,如果变化只会引起连接管理这个职责发生变化,那么需要将2个职责分离,如下图;如果变化总是导致这两个职责同时变化,那么就不需要分离这2个职责。
分离的Modem
上图中,2个职责都耦合进了ModemImplementation中。因为常常会有一些和硬件或操作系统细节相关的原因迫使我们将不愿意耦合在一起的东西耦合在一起了。可以把ModemImplementation看成是一个杂凑物,一个瑕疵,所有的依赖关旭都和它没有关系,谁也不需要依赖它。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/763475
推荐阅读
相关标签
  

闽ICP备14008679号