DDD核心觀點(diǎn)

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)并不牽涉到技術(shù)層面的實(shí)現(xiàn)細(xì)節(jié)。

”對(duì)一個(gè)大型系統(tǒng),領(lǐng)域模型的完全統(tǒng)一將是不可行的或者不劃算的。“ --?Eric Evans

DDD的構(gòu)建塊不能盲目地應(yīng)用在一個(gè)無限大的領(lǐng)域模型上,一個(gè)無限大的領(lǐng)域模型也無助于我們開發(fā)出優(yōu)質(zhì)的軟件,限界上下文是分解領(lǐng)域模型的關(guān)鍵。

限界上下文的邊界,也是需求和模型的邊界

如果發(fā)現(xiàn)了了通用語言中的歧義,往往意味著有隱藏的限界上下文要識(shí)別

將新的通用語言和限界上下文加入到團(tuán)隊(duì)中來,這些變化可能會(huì)影響業(yè)務(wù)分析和信息架構(gòu)

? 通過組織架構(gòu)、業(yè)務(wù)模式的分析構(gòu)建出業(yè)務(wù)全景,找到業(yè)務(wù)領(lǐng)域及子領(lǐng)域

? 分析不同業(yè)務(wù)領(lǐng)域的流程、渠道觸點(diǎn)、運(yùn)作模式的異同,來找出業(yè)務(wù)服務(wù);

? 不同業(yè)務(wù)服務(wù)中重疊的子領(lǐng)域/限界上下文,即潛在的基礎(chǔ)服務(wù)

? 限界上下文即潛在的服務(wù)邊界



首先,最大好處就是所有參與者圍繞一個(gè)統(tǒng)一一致的領(lǐng)域模型工作,傳統(tǒng)的分析模型和設(shè)計(jì)模型不再割裂,不管是做設(shè)計(jì)、做分析還是寫代碼、寫文檔,腦海中所構(gòu)建的畫面都是一致的。

第二,DDD 是一個(gè)軟件開發(fā)過程,它顯式地把領(lǐng)域和設(shè)計(jì)放到了軟件開發(fā)的核心,軟件人員和業(yè)務(wù)人員被受到同樣的重視,他們合作來構(gòu)建領(lǐng)域模型,使得軟件的交付質(zhì)量更高且維護(hù)成本更低;

第三,DDD 提出的分層架構(gòu),有效分離了業(yè)務(wù)復(fù)雜度和技術(shù)復(fù)雜度,凸顯了領(lǐng)域模型,使得領(lǐng)域?qū)拥拇a和領(lǐng)域模型保持高度一致;

第四,統(tǒng)一語言非常重要,每個(gè)概念在各自的上下文中是清晰的無歧義的,同時(shí)要控制領(lǐng)域模型的復(fù)雜度,于是 DDD 在戰(zhàn)略上提出了分離子域(問題域空間)和拆分 BC(解決方案空間)的模式,BC 間通過 Context Mapping 來集成;

第五,DDD 在戰(zhàn)術(shù)層面提出了很多模式(聚合,實(shí)體,值對(duì)象,服務(wù),工廠,倉儲(chǔ)),對(duì)領(lǐng)域模型中的元素進(jìn)行了分類,并給出了每類元素在領(lǐng)域模型中的職責(zé)和特征,降低了領(lǐng)域模型的構(gòu)建成本。

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

相關(guān)閱讀更多精彩內(nèi)容

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