## 連載:面向對象葵花寶典:思想、技巧與實踐(22) - 領域模型
領域模型是面向對象分析和設計的第一步!!
完成了需求分析之后,我們已經有了一個良好的開端,但我們的主角“面向對象”還不見蹤影。
前面我們提到,需求分析和面向對象是沒有直接關系的,需求分析階段是不區分是面向對象還是面向過程,那么什么時候才真正開始面向對象的工作呢?
?
答案就在本章:**領域建模**。
從領域模型開始,我們就開始了面向對象的分析和設計過程,可以說,領域模型是完成從需求分析到面向對象設計的一座橋梁。
?
領域模型,顧名思義,就是需求所涉及的領域的一個建模,更通俗的講法是業務模型。
參考百度百科(http://baike.baidu.cn/view/757895.htm?),領域模型定義如下
領域模型是對領域內的概念類或現實世界中對象的可視化表示,又稱概念模型、領域對象模型、分析對象模型。它專注于分析問題領域本身,發掘重要的業務領域概念,并建立業務領域概念之間的關系。
從這個定義我們可以看出,領域模型有兩個主要的作用:
1)發掘重要的業務領域概念
2)建立業務領域概念之間的關系
?
## 【領域建模三字經】
領域模型如此重要,很多同學可能會認為領域建模很復雜,需要很高的技巧。然而事實上領域建模非常簡單,簡單得有點難以讓人相信,領域建模的方法概括一下就是“找名詞”!
?
許多同學看到這個方法后估計都會笑出來:太假了吧,這么簡單,找個初中生都會啊,那我們公司那些分析師和設計師還有什么用哦?
?
分析師和設計師當然有用,后面我們會看到,即使是簡單的找名詞這樣的操作,也涉及到分析和提煉,而不是簡單的摘取出來就可,這種情況下分析師和設計師的經驗和技能就能夠派上用場了。但領域模型分析也確實相對簡單,即使沒有豐富的經驗和高超的技巧,至少也能完成一個能用的領域模型。
?
雖然我們說“找名詞”很簡單,但一個關鍵的問題還沒有說明:從哪里找?
如果你還記得領域模型是“需求到面向對象的橋梁”,那么你肯定一下子就能想到:從需求模型中找,具體來說就是從用例中找。
?
歸納一下域建模的方法就是“從用例中找名詞”。
當然,找到名詞后,為了能夠更加符合面向對象的要求和特點,我們還需要對這些名詞進一步完善,這就是接下來的步驟:加屬性,連關系!
?
最后我們總結出領域建模的三字經方法:**找名詞、加屬性、連關系**。
?
欲知具體如何操作,請看下回分解
- 前言
- (1) - 程序設計思想的發展
- (2) - 面向對象語言發展歷史
- (3) - 面向過程 vs 面向對象
- (4) - 面向對象是瑞士軍刀還是一把錘子?
- (5) - 面向對象迷思:面向對象導致性能下降?
- (6) - 不要說你懂“類”
- (7) - “對象”新解
- (8) - “接口” 詳解
- (9) - “抽象類” 詳解
- (10) - “抽象” 詳解
- (11) - “封裝” 詳解
- (12) - “繼承” 詳解
- (13) - “多態” 詳解
- (14) - 面向對象開發技術流程
- (15) - 需求詳解
- (16) - 需求分析終極目的
- (17) - 需求分析518方法
- (18) - 用例分析
- (19) - 功能點提取
- (20) - 用例圖的陷阱
- (21) - SSD
- (22) - 領域模型
- (23) - 領域建模三字經
- (24) - 設計模型
- (25) - 類模型
- (26) - 類模型三板斧
- (27) - 動態模型設計
- (28) - 設計原則:內聚&耦合
- (29) - 高內聚低耦合
- (30) - SRP原則
- (31) - OCP原則
- (32) - LSP原則
- (33) - ISP原則
- (34) - DIP原則
- (35) - NOP原則
- (36) - 設計原則如何用?
- (37) - 設計模式:瑞士軍刀 or 錘子?
- (38) - 設計模式之道
- (39) - 設計原則 vs 設計模式
- (40) - DECORATOR模式
- (完)- 書籍已經出版