DDD 充血模型和失血模型

2022-02-19 16:50:57 字數 734 閱讀 4064

回到目錄

這幾年,狀態依舊不好,但在23點以後,狀態還可以,所以,靜下來,看點ddd,並把相關資訊記載一下,今天是除夕,不過,我寫文章時已經是大年初一了,呵呵,外面的炮聲響亮,但我的內心很平靜,也許是年齡大了,對於過年的感覺也已經淡化了吧,再或許是有些事情還放不在。

今年的任務挺多的,目標也確實有點大,壓我的有點喘不過氣來,對於年未,我們是放鬆的,因為一年的任何已經完成,目錄也已經完成,所以是放鬆的;但當新的一年真的到來時,意味著你要去實現今年定的目標了,我們需要緊張起來了,需要向著那個目標去奮鬥了,這種感覺是我喜歡的!

失血模型簡單來說,就是domain object只有屬性的getter/setter方法的純資料類,所有的業務邏輯完全由business object來完成,這種模型下的domain object被martin fowler稱之為「貧血的domain object」

將大部分單個的,自身的,邏輯都定義在domain object裡,包括持久化邏輯,而bll層只負責事務處理和邏輯組合,bll層在這裡不直接訪問data層,它的呼叫圖示一般為:

bll(業務組合,事務封裝)=>domain object領域物件=>dao(資料訪問物件)

ok,對於領域驅動設計,我們對傳統的poco實體要進行必要的擴充,以符合ddd的原則。

ddd~概念中的ddd

ddd~充血模型和失血模型

ddd~基礎設施層

ddd~領域層

ddd~unity在ddd中的使用

回到目錄

DDD 充血模型和失血模型

回到目錄 這幾年,狀態依舊不好,但在23點以後,狀態還可以,所以,靜下來,看點ddd,並把相關資訊記載一下,今天是除夕,不過,我寫文章時已經是大年初一了,呵呵,外面的炮聲響亮,但我的內心很平靜,也許是年齡大了,對於過年的感覺也已經淡化了吧,再或許是有些事情還放不在。今年的任務挺多的,目標也確實有點大...

DDD領域驅動設計和充血模型

什麼是貧血模型?貧血模型就是缺血了,缺東西,也就是只有資料但是沒有業務邏輯或者有業務邏輯但是沒有資料。比如你有乙個計算類,他有乙個加法計算的方法。但是他不持有計算的資料。和貧血模型對應的就是充血模型。什麼是充血模型?充血模型就是不缺血了,有資料同樣有業務邏輯。比如你的計算類現在不只有加法計算,還有需...

DDD領域驅動設計 充血模型 貧血領域模型

最早廣泛應用源於ejb2,最強盛時期則是由spring創造,把 分離到不同的物件中 貧血領域模型是乙個存在已久的反模式,它不是個好東西。它完全和物件導向設計背道而馳。物件導向設計主張將資料和行為繫結在一起,而貧血領域模型則更像是一種面向過程設計。貧血領域模型的根本問題在於,它引入了領域模型設計的所有...