連載:麵向對象葵花寶典:思想、技巧與實踐(24) - 設計模型
完成領域類到軟件類的轉換,這就是麵向對象領域設計階段的主要任務。
經過領域模型的分析後,麵向對象已經初具雛形,但領域類並不能指導我們進行編碼工作,因為領域類隻是從用例模型中提煉出來的反應業務領域的概念,而並不是真正意義上的軟件類。
“革命尚未成功,同誌還需努力”,我們需要再進一步,完成領域類到軟件類的轉換,這就是麵向對象領域設計階段的主要任務。
設計階段是整個麵向對象分析和設計的高潮階段。在設計階段中,我們將要輸出設計模型,並且需要綜合各種方法、技巧,運用十八般武藝,使出渾身解數,以求能夠設計出滿足各種需要的設計方案。
這也是最考驗設計師功力的時候,因為設計並沒有一個量化的標準,也沒有一個標準答案,更多的時候需要設計師綜合知識、技能、經驗、靈感等因素,綜合權衡而得出一個方案。世界上找不到兩片相同的葉子,同樣,你也找不到兩個完全一樣的設計方案。毫不誇張的說,麵向對象的設計更多時候是一項藝術。
雖然我們說麵向對象設計是一門藝術,但這並不意味著隻有天才才能進行麵向對象設計,麵向對象設計也是有一定的規律和方法可尋的,我們將在接下來的章節逐一介紹。
【設計模型總覽】
設計模型主要包含2部分內容:靜態模型、動態模型,任何一個模型的缺失或者不完善,都將導致最終的設計質量不高,甚至可能導致最終的係統沒有實現業務需求。
靜態模型又可以稱為“類模型”,主要關注係統的“靜態”結構,描述了係統包含的類, 以及類的名稱、職責、屬性、方法,類與類之間的關係。
動態模型關注係統的“動態”行為,描述類本身的一些動作或者狀態變化,以及類之間如何配合以完成最終的業務功能。隻有結合靜態模型和動態模型,我們才能夠真正的將一個係統描述清楚。
靜態模型和動態模型對於後續的編碼也具有不同的指導意義。靜態模型主要用於指導類的聲明,包括類名稱,屬性名,方法名;而動態模型主要用於指導類的實現,主要就是每個方法內部的具體實現。
================================================
轉載請注明出處:https://blog.csdn.net/yunhua_lee/article/details/23360877
================================================
最後更新:2017-04-03 12:56:08