赞
踩
软件设计中会存在以下臭味:
敏捷设计解决设计中的臭味,解决方式是每次迭代中使用设计原则、模式解决设计中的臭味,每次迭代结束时保证设计简单、干净,而不是在一开始对庞大的设计应用设计原则、模式。(没有臭味时不使用设计原则、模式)
定义:一个类应该只有一个引起它变化的原因。
interface Modem{
void dial(String pno);
void hangup();
void send(char c);
char recv();
}
Modem接口有2个职责:
使用单一职责时要注意职责和变化的原因的对应关系(变化指的是需求的变化):像上面Modem接口,如果变化只会引起连接管理这个职责发生变化,那么需要将2个职责分离,如下图;如果变化总是导致这两个职责同时变化,那么就不需要分离这2个职责。
上图中,2个职责都耦合进了ModemImplementation中。因为常常会有一些和硬件或操作系统细节相关的原因迫使我们将不愿意耦合在一起的东西耦合在一起了。可以把ModemImplementation看成是一个杂凑物,一个瑕疵,所有的依赖关旭都和它没有关系,谁也不需要依赖它。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。