1、创建者(Creator)
问题:谁创建类A?
答:来自领域模型、设计模型(交互图、类图)
2、信息专家
问题:给对象分配职责的基本原则是什么?
回答:谁具有完成该职责的信息,谁负责该职责。
因为根据图17-5知道,board汇集了square的信息。即board对square门清。
3、低耦合
为啥专家把获取Square的职责分配给了Board?而不是Dog?
除了board对square门清以外,就是低耦合。那什么叫低耦合呢?就是类之间的关联要小些,即当变化功能时,不要改变过多的类。
问题:如何减少因变化产生的影响?
方案:分配职责,降低耦合度(不必要的耦合去掉)。
4、控制器
就是MVC中的C。在V(视图层)和M(领域层)之间搭建桥梁。
5、高内聚
耦合是类之间的,内聚是类内部的。
A:一个类内部有100个方法2000行代码
B:一个类内部有10个方法200行代码
以上那个好?当然是B好,因为A基本把所有事都做了,难维护。A叫低内聚,B叫高内聚。