關(guān)于領(lǐng)域模型選擇充血模型還是貧血模型

我們在做領(lǐng)域模型設(shè)計的過程中選用貧血模型

貧血模型:

所有的業(yè)務(wù)邏輯都不包含在領(lǐng)域?qū)ο笾卸欠旁跇I(yè)務(wù)邏輯層。把行為和狀態(tài)分離到不同的對象之中。只有狀態(tài)的對象作為領(lǐng)域模型、只有行為的對象放在Service層。
這種方式不是嚴(yán)格意義上的面向?qū)ο?。但具備很?qiáng)的可實施性。

充血模型:

一個對象是擁有狀態(tài)和行為的。
充血模型中的困境:實施的過程中程序分層結(jié)構(gòu)被打破。
由于包含動作,很多Domain Model會成為復(fù)合體:模型 + DAO 或 模型 + DAO + Service

實施起來難度大。到目前為止很難找到嚴(yán)格按照充血領(lǐng)域模型落地的系統(tǒng)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容