什麼是領域模型(domain model)?貧血模型(anaemic domain model) 和充血模型(rich domain model)有什麼區別
阿新 • • 發佈:2018-12-30
http://blog.csdn.net/helloboat/article/details/51208128
領域模型是領域內的概念類或現實世界中物件的視覺化表示,又稱為概念模型或分析物件模型,它專注於分析問題領域本身,發掘重要的業務領域概念,並建立業務領域概念之間的關係。貧血模型是指使用的領域物件中只有setter和getter方法(POJO),所有的業務邏輯都不包含在領域物件中而是放在業務邏輯層。有人將我們這裡說的貧血模型進一步劃分成失血模型(領域物件完全沒有業務邏輯)和貧血模型(領域物件有少量的業務邏輯),我們這裡就不對此加以區分了。充血模型將大多數業務邏輯和持久化放在領域物件中,業務邏輯(業務門面)只是完成對業務邏輯的封裝、事務和許可權等的處理。下面兩張圖分別展示了貧血模型和充血模型的分層架構。- 它是一個大多數開發者都能夠理解的簡單過程模型(適合國內的絕大多數開發者)。
- 它能夠與一個使用行資料入口或表資料入口的簡單資料訪問層很好的協作。
- 事務邊界的顯而易見,一個事務開始於指令碼的開始,終止於指令碼的結束,很容易通過代理(或切面)實現宣告式事務。