領域模型不是馬上可以得到,需要透過反復的知識消化(knowledge crunching ) 來提煉 領域模型的基本特性: 反應深層領域知識 (1 )領域知識間如何組織( 2) 重要元素的區分方式 聚焦於關鍵概念 Domain-Driven Design 跟 Object Oriented Design 有什麼不一樣? DDD 重視的是整個設計流程,以領域模型作為開發基礎:
- 團隊的共同語言
- 領域模型需要反復的精煉,但不一定是透過迭代開發/ XP開發/敏捷 OOD 則是在說對一組邏輯以物件的方式設計其特性和行為。 領域模型建立成功的要素 模型與實作的綁定:一開始簡陋的 prototype ,以及後續的持續維護。 建立一模型為基礎的語言:可以用模型中的術語來組成完整邏輯的句子,就像任何一個學術科目都有精準定義的術語,好用這些術語來表達通用的理論。 有豐富知識的模型:有點像某些 OOP 設計原則/概念:(1)充血模型 (2)高內聚。