
— 新聞中心 —
NEWS CENTRES
全國免費(fèi)客服電話 18268652722 郵箱:www.jungshuodz@163.com
手機(jī):18268652722
電話:18268652722
地址:寧波市北侖區(qū)大碶廟前山路45號
技術(shù)文獻(xiàn)
人氣:
域驅(qū)動設(shè)計(jì)軟件核心復(fù)雜性應(yīng)對之道,領(lǐng)域驅(qū)動設(shè)計(jì) pdf.jpg)
域驅(qū)動設(shè)計(jì):軟件核心復(fù)雜性應(yīng)對之道,領(lǐng)域驅(qū)動設(shè)計(jì) pdf.jpg)
大家好,我是一名Java實(shí)習(xí)生,已經(jīng)練習(xí)了兩年半了。今天我們要講的是架構(gòu)設(shè)計(jì)中的一個模式,領(lǐng)域驅(qū)動設(shè)計(jì),也稱為DDD,Domain-Driven Design。 DDD不僅可以用于微服務(wù)設(shè)計(jì),也可以很好地應(yīng)用于企業(yè)中臺的設(shè)計(jì),也適合傳統(tǒng)的單體應(yīng)用。但無論如何,請拋開偏見,認(rèn)真學(xué)習(xí)Eric Evans的《領(lǐng)域驅(qū)動設(shè)計(jì)》。如果你對認(rèn)知升級有深入的了解,那么恭喜你,你已經(jīng)進(jìn)步了。
它是一種軟件設(shè)計(jì)方法,根據(jù)領(lǐng)域?qū)<业妮斎雽浖M(jìn)行建模以匹配領(lǐng)域。我們可以看到,領(lǐng)域建模中對應(yīng)的折扣接口指導(dǎo)我們在項(xiàng)目設(shè)計(jì)時以策略模式來實(shí)現(xiàn),從而在保證各個模塊滿足單一職責(zé)原則的同時,添加不同的折扣功能。領(lǐng)域模型:領(lǐng)域模型就好比是描述領(lǐng)域中的實(shí)體、屬性、關(guān)系和行為的地圖。 UMLChina創(chuàng)始人,UMLChina是國內(nèi)最早引入領(lǐng)域驅(qū)動設(shè)計(jì)的機(jī)構(gòu)之一。
DDD指領(lǐng)域驅(qū)動設(shè)計(jì),是一種主要致力于解決復(fù)雜業(yè)務(wù)領(lǐng)域的建模和實(shí)現(xiàn)問題的軟件設(shè)計(jì)方法論。我們可以看到,根據(jù)領(lǐng)域模型提取出來的服務(wù)和對象的組合,更像是我們平時設(shè)計(jì)的價值對象和服務(wù)之間的關(guān)系。領(lǐng)域驅(qū)動設(shè)計(jì)(DDD)是一種軟件開發(fā)方法,旨在幫助開發(fā)團(tuán)隊(duì)更好地理解業(yè)務(wù)需求并將其映射到軟件設(shè)計(jì)中。
實(shí)體是域中具有唯一身份和生命周期的對象。值對象是沒有唯一標(biāo)識和生命周期的對象。聚合是實(shí)體和值對象的集合。倉儲是一種用于存儲和檢索聚合的機(jī)制。服務(wù)是域。一些操作或過程。現(xiàn)在假設(shè)我們需要管理足球運(yùn)動員信息,那么相應(yīng)的領(lǐng)域模型和數(shù)據(jù)模型應(yīng)該如何設(shè)計(jì)呢?問題空間框架了我們想要解決的問題的背景。這種上下文并不是軟件工程或領(lǐng)域驅(qū)動所獨(dú)有的,而是一個普遍的共同元素。
至此,領(lǐng)域已經(jīng)確定。現(xiàn)在可以根據(jù)領(lǐng)域來劃分任務(wù)。小組成員負(fù)責(zé)一個或多個領(lǐng)域的詳細(xì)設(shè)計(jì)。這個階段就是大家都非常熟悉的用例圖、活動圖、序列圖、數(shù)據(jù)庫設(shè)計(jì)、界面設(shè)計(jì)。使用。離線活動:當(dāng)活動不需要繼續(xù)時,您可以對活動進(jìn)行離線操作。 《領(lǐng)域驅(qū)動設(shè)計(jì):如何應(yīng)對軟件的核心復(fù)雜性》適合面向?qū)ο蟮能浖_發(fā)人員和各個級別的系統(tǒng)分析師閱讀。
DDD的核心思想是以業(yè)務(wù)領(lǐng)域?yàn)樵O(shè)計(jì)核心,將業(yè)務(wù)領(lǐng)域的概念和規(guī)則融入到軟件系統(tǒng)中,以滿足業(yè)務(wù)需求。當(dāng)可以自由選擇重構(gòu)的部分時,首先應(yīng)該著眼于更好地提取核心領(lǐng)域,完善核心的分離,將支撐子領(lǐng)域細(xì)化為通用子領(lǐng)域。
相關(guān)推薦