?
(零雨其蒙原創 轉載請注明)
2007
年
3
月
6
日星期二
第
18
章
使用
GRASP
的對象設計示例
關鍵點
???
在設計過程中,無論是畫圖還是編碼,職責的分配和協作的設計都是非常重要和具有創造性的步驟。
?
用例實現
??? Use-case realization
描述某個用例基于協作對象如何在設計模型中實現
[RUP]
。更精確地說,設計者能夠描述用例的一個或多個
場景
的設計,其中的每個設計都稱為用例實現(盡管不標準,但最好還是稱為場景實現)
???
用例實現可以用交互圖表示,并且屬于
OOD
的范疇。
可見性
Visibility
是一個對象“看見”或引用另一個對象的能力
?
出現多種
GRASP
模式可選時的準則
準則
??
?
當存在多個可選設計時
,應更深入的觀察可選設計所存在的內聚和耦合,以及未來可能存在的進化壓力。選擇具有良好內聚、耦合和在未來變化時能保持穩定的設計。
?
?
書中反復強調的一個使用多種
GRASP
模式的原則——除非是控制器或創建問題,否則應該將信息專家模式作為首先考慮的模式。
?
初始化和“啟動”用例
?
P249
對于所有情形,常見的設計約定是創建一個初始領域對象(
initial domain object
)或一組對等的初始化領域對象,這些對象是首先要創建的軟件的“領域”對象。
?
準則
??
選擇位于或接近于領域對象包含或聚合層次中的根類作為初始領域對象。該類可能是外觀控制器,例如
Register
,也可能是容納所有或大部分其他對象的某些對象。
?