動態模型


動態模型設計一般都是在類別模型設計完成後開始,此階段需要使用類別模型的類別。

動態模型設計不需要應用「設計原則」和「設計模式」,只需對照「使用案例模型」,並根據使用案例的特點,選一個適合的動態模型表述即可。

 

模型分類


參考 UML 標準,常見的動態模型如下:

* 狀態模型→主要描述物件生命週期的狀態變化。

* 活動模型→主要用來描述一個工作流程或計算流程。

* 序列模型→主要用來描述物件按照時間順序組織的訊息互動過程,其關鍵特徵是強調按照「時間順序」組織物件的互動。

* 協作模型→主要用來描述物件之間的關聯組知的訊息互動過程,其關鍵特徵是強調「物件關係」組織物件的互動。

 

建模實踐


基本上動態模型都可以從「使用案例模型」推導出來,但狀態模型會比其他模型複雜一些,因為需要綜合多個使用案例模型,從中提取出和某個物件狀態相關的內容,再統一設計狀態模型。

從使用案例模型推導出動態模型是一個「分解和分配」的過程。

 

建模技巧


在實際的專案進行過程中,其實每個子專案或功能,並不會都使用動態模型來描述,這主要是程式設計人員效率方面的考量。

設計動態模型主要是便於思考和理解實作過程;如果專案比較簡單,通常很容易理解,也就沒必要設計動態模型了。

考慮到效率和效果兩個因素,一般只需要針對一些關鍵、核心及複雜的專案或功能,進行動態模型設計即可。

但要注意,千萬不要直接按照動態模型撰寫程式碼,模型不等於虛擬碼、更不等於程式碼,模型的主要目的是指導程式碼的撰寫,但並非程式碼的文字敘述。

 

本章總結


1. 設計階段將輸出設計模型。

2. 物件導向設計更像是一門藝術。

3. 設計模型主要包含兩個部分:靜態模型、動態模型。

4. 從領域模型可以得到最初的設計類別。

5. 「設計原則」和「設計模式」可以指導做出更好的物件導向程式設計。

6. 設計原則主要是指 SOLID 原則。

7. 設計模式是指 GoF 提出的設計模式。

8. 根據框架或者規範的要求,拆分輔助類別。

9. 動態模型主要有 4 種:狀態模型、活動模型、序列模型、協作模型。

10. 動態建模不需要面面俱到。

11. 動態建模不等於程式碼。

arrow
arrow

    OtakuYeh 發表在 痞客邦 留言(0) 人氣()