域模型的定義
在軟體開發領域,模型用來表示真實世界的實體。在軟體開發的不同階段,需要為目標系統創建不同類型的模型。在軟體設計階段,需要創建域模型。
域模型模式的作者 Martin Fowler 給出了以下定義(Fowler,2003 年): 融合了行為和數據的域的對象模型。
域模型是面向對象的。
域對象
構成域模型的基本元素就是域對象。域對象,即Domain Object,是對真實世界的實體的軟體抽象。域對象還可以叫做業務對象,即Business Object 。
域對象的分類
實體域對象
實體域對象可以代表人、地點、事物或概念。
過程域對象
過程域對象代表套用中的業務邏輯活流程。
事件域對象
事件域對象代表套用中的一些事件。
域對象之間的關係
關聯
關聯指的是類之間的引用關係,這是實體域對象之間最普遍的一種關係。關聯可以分為一對一、一對多和多對多關聯。
依賴
依賴指的是類之間的訪問關係。
聚集
聚集指的是整體與部分之間的關係。
泛化(也稱一般化)
泛化指的是類之間的繼承關係。
域模型的分類
貧血域模型
只是簡單的數據載體,沒有任何業務。
充血域模型
除數據外還有與持久化(和事務邏輯)無關的業務實現 。