多个职责的坏处:
1. 如果某个类有2个职责,那么对于只使用它一个职责的用户,也必须链接其它职责的代码,会浪费链接间间,编译时间,内存占用。
2. 部署时会需要用到多余的包。无关职责的变化,也会引起客户的重新构建。
所以,我们在设计时,就应当努力发现职责,并把它们相互分离。
可以用FACADE/PROXY模式将职责分离。
FACADE:
给客户提供简化的接口(将复杂的子系统封装)。
例子:家庭影院系统。
最少知识原则:只和密友谈话。客户知道得越少越好。
有2个职责的类,可以提供2个不同的外观,分别给不同的客户使用。
如果客户只使用外观,则内部子系统升级不会对客户造成影响。
Monday, August 15, 2011
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment