— 新聞中心 —
NEWS CENTRES郵箱:www.jungshuodz@163.com
手機(jī):18268652722
電話:18268652722
地址:寧波市北侖區(qū)大碶廟前山路45號(hào)
常見(jiàn)問(wèn)答
人氣:
領(lǐng)域?qū)ο笤诎祵?duì)象的同時(shí),也保留了值對(duì)象的業(yè)務(wù)含義,而數(shù)據(jù)對(duì)象則可以使用更寬松的結(jié)構(gòu)來(lái)保存值對(duì)象,簡(jiǎn)化數(shù)據(jù)庫(kù)設(shè)計(jì)。領(lǐng)域模型設(shè)計(jì)的過(guò)程就是領(lǐng)域建模。領(lǐng)域建模的目的并不是建立一個(gè)100%符合現(xiàn)實(shí)的模型。從理論上講,我們無(wú)法實(shí)現(xiàn)這種對(duì)現(xiàn)實(shí)的完整建模,而只能進(jìn)行某種程度的模擬。領(lǐng)域模型是對(duì)具有一定邊界的領(lǐng)域的抽象,反映了領(lǐng)域內(nèi)用戶(hù)業(yè)務(wù)需求的本質(zhì)。
從名字就可以看出,領(lǐng)域是核心和關(guān)鍵,所有的設(shè)計(jì)都必須基于領(lǐng)域。領(lǐng)域服務(wù):領(lǐng)域服務(wù)。有些領(lǐng)域邏輯不適合分配給特定的實(shí)體對(duì)象。這些操作可以封裝到領(lǐng)域服務(wù)中。本書(shū)提供了領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的系統(tǒng)方法,集成了一些普遍接受的最佳實(shí)踐,融入了作者的見(jiàn)解和經(jīng)驗(yàn),并展示了一些可擴(kuò)展的設(shè)計(jì)最佳實(shí)踐和經(jīng)過(guò)驗(yàn)證的技術(shù)和基本原則,有助于復(fù)雜領(lǐng)域中軟件項(xiàng)目的開(kāi)發(fā)。
比如閃購(gòu)系統(tǒng)中的活動(dòng)域、閃購(gòu)產(chǎn)品域等都是核心子域,需要我們親自去重點(diǎn)設(shè)計(jì)和實(shí)現(xiàn);因?yàn)閷?shí)踐DDD的關(guān)鍵不在于這個(gè)戰(zhàn)術(shù)層面模型的實(shí)現(xiàn),而在于它的宏觀領(lǐng)域。驅(qū)動(dòng)設(shè)計(jì)思想的合規(guī)性,如統(tǒng)一語(yǔ)言、領(lǐng)域模型和代碼的一致性、子領(lǐng)域和上下文的拆分和映射、領(lǐng)域模型和技術(shù)關(guān)注點(diǎn)的分離等。
一個(gè)域可以劃分為多個(gè)子域,一個(gè)子域又可以劃分為多個(gè)子子域。有界上下文本質(zhì)上是一種子子域。那么在分解業(yè)務(wù)時(shí),業(yè)務(wù)模塊是域、子域還是子子域呢?他在世界各地宣揚(yáng)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)的思想,提供課程、參加會(huì)議、接受獨(dú)家采訪,擁有大量追隨者。
通過(guò)這樣的設(shè)計(jì),我們可以更好地理解和建模業(yè)務(wù)領(lǐng)域,將業(yè)務(wù)邏輯和業(yè)務(wù)流程與代碼分離,從而達(dá)到高內(nèi)聚、低耦合的目標(biāo),提高軟件質(zhì)量和可維護(hù)性。 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)域建模和分析方法。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)并不是一種新的架構(gòu)設(shè)計(jì)理論。它由埃里克埃文斯(Eric Evans) 提出已有十多年了。
DDD不僅可以用于微服務(wù)設(shè)計(jì),也可以很好地應(yīng)用于企業(yè)中臺(tái)的設(shè)計(jì),也適合傳統(tǒng)的單體應(yīng)用。當(dāng)我們有了領(lǐng)域模型后,因?yàn)轭I(lǐng)域模型將客觀世界的規(guī)律描述到了軟件中,我們就可以根據(jù)領(lǐng)域模型的變化來(lái)指導(dǎo)程序設(shè)計(jì)。 DDD強(qiáng)調(diào)需要領(lǐng)域?qū)<也拍軜?gòu)建項(xiàng)目所依賴(lài)的統(tǒng)一語(yǔ)言和領(lǐng)域模型。然而,如果項(xiàng)目的技術(shù)復(fù)雜度很高,那么領(lǐng)域理解它就是一個(gè)挑戰(zhàn)。
DDD指領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),是一種主要致力于解決復(fù)雜業(yè)務(wù)領(lǐng)域的建模和實(shí)現(xiàn)問(wèn)題的軟件設(shè)計(jì)方法論。
相關(guān)推薦