(零雨其蒙原创 转载请注明)
2007
年
3
月
6
日星期二
第
18
章
使用
GRASP
的对象设计示例
关键点
在设计过程中,无论是画图还是编码,职责的分配和协作的设计都是非常重要和具有创造性的步骤。
用例实现
Use-case realization
描述某个用例基于协作对象如何在设计模型中实现
[RUP]
。更精确地说,设计者能够描述用例的一个或多个
场景
的设计,其中的每个设计都称为用例实现(尽管不标准,但最好还是称为场景实现)
用例实现可以用交互图表示,并且属于
OOD
的范畴。
可见性
Visibility
是一个对象“看见”或引用另一个对象的能力
出现多种
GRASP
模式可选时的准则
准则
当存在多个可选设计时
,应更深入的观察可选设计所存在的内聚和耦合,以及未来可能存在的进化压力。选择具有良好内聚、耦合和在未来变化时能保持稳定的设计。
书中反复强调的一个使用多种
GRASP
模式的原则——除非是控制器或创建问题,否则应该将信息专家模式作为首先考虑的模式。
初始化和“启动”用例
P249
对于所有情形,常见的设计约定是创建一个初始领域对象(
initial domain object
)或一组对等的初始化领域对象,这些对象是首先要创建的软件的“领域”对象。
准则
选择位于或接近于领域对象包含或聚合层次中的根类作为初始领域对象。该类可能是外观控制器,例如
Register
,也可能是容纳所有或大部分其他对象的某些对象。