三件事情要關注:
1、 以領域為本
2、 用一種不同的方式看待事情
3、 始終堅持與領域專家對話
開始重構:開發人員通過學習獲得了更深刻的理解,從而發現乙個更清晰或者更有用的模型的機會
探索團隊:不管問題的根源是什麼,下一步都是要找到一種能夠使模型表達變得更清楚和自然的精化方案。修改的發起者應該挑選幾位開發人員一起工作,這些開發人員應該擅長思考該型別的問題,了解領域或者掌握更深厚的建模技巧。通過頭腦風暴畫出新的uml草圖。主要注意的是:注意範圍、練習使用統一語言。
借鑑先前的經驗:沒有必要做一些無謂的重複工作,用於查詢丟失概念或改進模型的頭腦風暴過程具有更大的潛力,通過這個過程可以收集來自各個方面的創意,並把這些創意與已有知識結合起來。隨著知識笑話的不斷開展,就能找到當前的答案。
針對開發人員設計:柔性設計,讓**表名他的意圖,這樣的設計使人們很容易看出**的執行效果。
重構的時機:持續重構漸漸被認為是一種「最佳實踐」,但大部分專案團隊仍然對他抱有很大的戒心,人們雖然知道修改**有風險,還要花時間開發、測試,卻不知道維持乙個拙劣的設計也有風險以及遷就這種設計付出的代價。發布前不要重構,不要引入一些只顧炫耀技術能力而沒有解決領域核心問題的「柔性設計」。
危機就是機遇:你突然發現模型中有一些明顯的缺陷,在表達方面顯示出乙個很大的漏洞,或存在一些沒有表達清晰的關鍵區域,或有些描述就是錯誤的,這都表名團隊對模型的理解已經達到了乙個新的水平,現在站在更高的層次上發現了原有模型的弱點,就可以從這個角度構思乙個更好的模型
富領域模型和貧血領域模型
貧血領域模型乙個明顯的特徵是 它僅僅是看上去和領域模型一樣,都是物件,都以領域空間中定 義的名詞命名,這些物件通過實際領域模型中豐富的關係和結構相互關聯。但是觀察模型所持有的 業務邏輯時會發現,貧血模型中除了大量 getter 和 setter,幾乎沒有其他業務邏輯。當然,在使用貧血領域模型時,那些...
建立領域模型
領域模型是對領域內的概念類或現實世界中物件的視覺化表示。又稱概念模型 領域物件模型 分析物件模型。它專注於分析問題領域本身,發掘重要的業務領域概念,並建立業務領域概念之間的關係。1 概念類分類表 就是事先分好類,然後由分析人員在需求資訊中尋找相應類別的候選物件進行確定和歸納,形成概念類。顧客向系統提...
領域模型(一)
每個軟體程式是為了執行使用者的某項活動,或是滿足使用者的某種需求。這些使用者應用軟體的問題區域就是軟體的領域。為了建立真正能為使用者活動所用的軟體,開發團隊必須運用一整套與這些活動有關的知識體系。所需的知識廣度可能令人望而生畏,龐大而複雜的資訊也可能超乎想象。模型正是解決此類資訊超載問題的工具。模型...