
— 新聞中心 —
NEWS CENTRES
全國(guó)免費(fèi)客服電話 18268652722 郵箱:www.jungshuodz@163.com
手機(jī):18268652722
電話:18268652722
地址:寧波市北侖區(qū)大碶廟前山路45號(hào)
常見(jiàn)問(wèn)答
人氣:
域驅(qū)動(dòng)設(shè)計(jì)專欄,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)筆記.jpg)
域驅(qū)動(dòng)設(shè)計(jì)專欄,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)筆記.jpg)
使用領(lǐng)域?qū)<摇⒃O(shè)計(jì)人員和開(kāi)發(fā)人員能夠理解的通用語(yǔ)言作為相互溝通的工具,在溝通過(guò)程中發(fā)現(xiàn)領(lǐng)域概念,然后將這些概念設(shè)計(jì)成領(lǐng)域模型。至此,領(lǐng)域已經(jīng)確定。現(xiàn)在可以根據(jù)領(lǐng)域來(lái)劃分任務(wù)。小組成員負(fù)責(zé)一個(gè)或多個(gè)領(lǐng)域的詳細(xì)設(shè)計(jì)。這個(gè)階段就是大家都非常熟悉的用例圖、活動(dòng)圖、序列圖、數(shù)據(jù)庫(kù)設(shè)計(jì)、界面設(shè)計(jì)。使用。
DDD的核心思想是通過(guò)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)方法定義領(lǐng)域模型,以確定業(yè)務(wù)和應(yīng)用邊界,保證業(yè)務(wù)模型和代碼模型的一致性。它現(xiàn)已發(fā)展成為大型復(fù)雜系統(tǒng)的領(lǐng)域建模和分析方法。上述DDD 戰(zhàn)術(shù)設(shè)計(jì)模式在設(shè)計(jì)時(shí)標(biāo)識(shí)了一些關(guān)鍵模式,但并不意味著必須嚴(yán)格使用和遵循它們,也不意味著遵循所有戰(zhàn)術(shù)設(shè)計(jì)模式就與領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)保持一致。
大家好,我是一名Java實(shí)習(xí)生,已經(jīng)練習(xí)了兩年半了。今天我們要講的是架構(gòu)設(shè)計(jì)中的一個(gè)模式,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),也稱為DDD,Domain-Driven Design。答案是,梳理流程時(shí)必須有業(yè)務(wù)專家在場(chǎng),因?yàn)闆](méi)有真實(shí)的業(yè)務(wù)細(xì)節(jié),領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)是不可能的。從名字就可以看出,領(lǐng)域是核心和關(guān)鍵,所有的設(shè)計(jì)都必須基于領(lǐng)域。領(lǐng)域模型:領(lǐng)域模型就好比是描述領(lǐng)域中的實(shí)體、屬性、關(guān)系和行為的地圖。
領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)已經(jīng)成為流行的概念一段時(shí)間了。剛接觸的時(shí)候,感覺(jué)概念很多,執(zhí)行起來(lái)比較困難。需要指出的是,DDD不能代替詳細(xì)設(shè)計(jì),DDD是為了更清晰的詳細(xì)設(shè)計(jì)。事實(shí)上,領(lǐng)域模型設(shè)計(jì)中解耦的思想與我們開(kāi)發(fā)時(shí)的抽象設(shè)計(jì)不謀而合。領(lǐng)域中的某些概念不適合建模為對(duì)象,即歸類為實(shí)體對(duì)象或值對(duì)象,因?yàn)樗鼈儽举|(zhì)上是操作和動(dòng)作,而不是事物。
如果領(lǐng)域模型原有的客觀規(guī)律不具備這種能力,則首先對(duì)領(lǐng)域模型進(jìn)行維護(hù)(例如添加新屬性、新行為)。實(shí)踐DDD 的第一步不是如何編寫代碼,而是收集有關(guān)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的知識(shí)。這些操作或動(dòng)作往往涉及多個(gè)領(lǐng)域?qū)ο螅⑶倚枰獏f(xié)調(diào)這些領(lǐng)域?qū)ο髞?lái)完成操作或動(dòng)作。
領(lǐng)域模型設(shè)計(jì)的過(guò)程就是領(lǐng)域建模。領(lǐng)域建模的目的并不是建立一個(gè)100%符合現(xiàn)實(shí)的模型。從理論上講,我們無(wú)法實(shí)現(xiàn)這種對(duì)現(xiàn)實(shí)的完整建模,而只能進(jìn)行某種程度的模擬。
總結(jié)一下本文的思路,我們首先從DDD最基本的OOP面向?qū)ο蠓椒ㄩ_(kāi)始,然后介紹DDD的四層經(jīng)典架構(gòu),然后詳細(xì)闡述DDD中的核心領(lǐng)域?qū)嶓w、Repositoy和領(lǐng)域服務(wù)以及其他戰(zhàn)術(shù)設(shè)計(jì)規(guī)范。和方法,最后結(jié)合實(shí)際工作中遇到的場(chǎng)景介紹了DDD戰(zhàn)略設(shè)計(jì)的一些方法和思路。
相關(guān)推薦