— 新聞中心 —
NEWS CENTRES郵箱:www.jungshuodz@163.com
手機(jī):18268652722
電話:18268652722
地址:寧波市北侖區(qū)大碶廟前山路45號(hào)
技術(shù)文獻(xiàn)
人氣:
對(duì)于從未接觸過DDD的同學(xué),建議先閱讀這篇文章。如果你聽說過DDD,也可以通過下面這篇文章回顧一下DDD 的基本概念:愛牛油果的露露:算法架構(gòu)師我們來聊聊領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)。進(jìn)入今天的主題:簡(jiǎn)單來說一下DDD。域驅(qū)動(dòng)設(shè)計(jì)(簡(jiǎn)稱DDD)。以業(yè)務(wù)領(lǐng)域?yàn)楹诵模阂詷I(yè)務(wù)邏輯為整個(gè)系統(tǒng)的核心,并圍繞其進(jìn)行設(shè)計(jì)和開發(fā)。
微服務(wù)提倡領(lǐng)域驅(qū)動(dòng)設(shè)計(jì):微服務(wù)架構(gòu)提倡將系統(tǒng)分解為小型的、自治的服務(wù)。每個(gè)服務(wù)都應(yīng)該有明確的邊界和職責(zé)。這就需要服務(wù)使用領(lǐng)域語(yǔ)言進(jìn)行通信,這可以促進(jìn)領(lǐng)域的發(fā)展。驅(qū)動(dòng)設(shè)計(jì)的實(shí)踐。 DDD 專注于領(lǐng)域模型的設(shè)計(jì)。它試圖將業(yè)務(wù)需求轉(zhuǎn)化為一組概念、規(guī)則和關(guān)系。這些概念、規(guī)則和關(guān)系構(gòu)成了實(shí)現(xiàn)業(yè)務(wù)邏輯的領(lǐng)域模型。領(lǐng)域服務(wù):領(lǐng)域模型中無法表達(dá)的業(yè)務(wù)邏輯可以通過領(lǐng)域服務(wù)來實(shí)現(xiàn)。
至此,領(lǐng)域已經(jīng)確定?,F(xiàn)在可以根據(jù)領(lǐng)域來劃分任務(wù)。小組成員負(fù)責(zé)一個(gè)或多個(gè)領(lǐng)域的詳細(xì)設(shè)計(jì)。這個(gè)階段就是大家都非常熟悉的用例圖、活動(dòng)圖、序列圖、數(shù)據(jù)庫(kù)設(shè)計(jì)、界面設(shè)計(jì)。使用。將每個(gè)問題進(jìn)行分解,就是當(dāng)問題被劃分為小領(lǐng)域時(shí),由于小領(lǐng)域的業(yè)務(wù)具有凝聚力,其子領(lǐng)域關(guān)聯(lián)性強(qiáng),所以我們可以在技術(shù)維度上進(jìn)行詳細(xì)設(shè)計(jì),按照業(yè)務(wù)范圍來劃分項(xiàng)目。管理維度領(lǐng)域。
DDD指領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),是一種主要致力于解決復(fù)雜業(yè)務(wù)領(lǐng)域的建模和實(shí)現(xiàn)問題的軟件設(shè)計(jì)方法論。領(lǐng)域?qū)ο笤诎祵?duì)象的同時(shí),也保留了值對(duì)象的業(yè)務(wù)含義,而數(shù)據(jù)對(duì)象則可以使用更寬松的結(jié)構(gòu)來保存值對(duì)象,簡(jiǎn)化數(shù)據(jù)庫(kù)設(shè)計(jì)。自20世紀(jì)80年代以來,他作為設(shè)計(jì)師和程序員參與了許多大型面向?qū)ο笙到y(tǒng)的設(shè)計(jì)和開發(fā),涉及各種復(fù)雜的業(yè)務(wù)和技術(shù)領(lǐng)域。
具體說明請(qǐng)參見圖中注釋。一般來說,領(lǐng)域?qū)油ㄟ^實(shí)現(xiàn)和接口的分離,盡可能做到獨(dú)立,不耦合到任何模塊。它包含領(lǐng)域模型的業(yè)務(wù)邏輯代碼,但不依賴于具體的技術(shù)實(shí)現(xiàn)?;A(chǔ)設(shè)施層可以輕松替換并提供給第三方網(wǎng)絡(luò)呼叫服務(wù)。微服務(wù)可以支持DDD中的有界上下文:在領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)中,有界上下文是一個(gè)非常重要的概念,可以幫助開發(fā)人員更好地理解業(yè)務(wù)領(lǐng)域。
需要指出的是,DDD不能代替詳細(xì)設(shè)計(jì),DDD是為了更清晰的詳細(xì)設(shè)計(jì)。為了讓業(yè)務(wù)服務(wù)更加聚焦領(lǐng)域能力,基于領(lǐng)域能力設(shè)計(jì)對(duì)外接口,同時(shí)滿足前端顯示等多樣化的接口消費(fèi)場(chǎng)景,往往需要在架構(gòu)中引入BFF層。一個(gè)域可以劃分為多個(gè)子域,一個(gè)子域又可以劃分為多個(gè)子子域。有界上下文本質(zhì)上是一種子子域。那么在分解業(yè)務(wù)時(shí),業(yè)務(wù)模塊是域、子域還是子子域呢?
相關(guān)推薦