— 新聞中心 —
NEWS CENTRES郵箱:www.jungshuodz@163.com
手機(jī):18268652722
電話:18268652722
地址:寧波市北侖區(qū)大碶廟前山路45號(hào)
技術(shù)文獻(xiàn)
人氣:
領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)可以輕松應(yīng)用于穩(wěn)定的領(lǐng)域,其中的關(guān)鍵活動(dòng)適合開(kāi)發(fā)人員記錄和建模用戶(hù)的想法。領(lǐng)域中的某些概念不適合建模為對(duì)象,即歸類(lèi)為實(shí)體對(duì)象或值對(duì)象,因?yàn)樗鼈儽举|(zhì)上是操作和動(dò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ì)保持一致。
DDD指領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),是一種主要致力于解決復(fù)雜業(yè)務(wù)領(lǐng)域的建模和實(shí)現(xiàn)問(wèn)題的軟件設(shè)計(jì)方法論。戰(zhàn)略設(shè)計(jì):從業(yè)務(wù)角度,完成域分解為子域,并為子域定義核心子域和通用子域?qū)傩?。例如,假設(shè)有一個(gè)電子商務(wù)系統(tǒng),其中包含產(chǎn)品、訂單和庫(kù)存等域?qū)ο蟆?/p>
團(tuán)隊(duì)對(duì)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的了解不夠,沒(méi)有關(guān)注問(wèn)題域拆分、統(tǒng)一語(yǔ)言、模型與技術(shù)關(guān)注點(diǎn)分離等核心原則。而是從實(shí)現(xiàn)的角度出發(fā),過(guò)分強(qiáng)調(diào)戰(zhàn)術(shù)設(shè)計(jì)模式。著陸,從而沉浸在無(wú)盡的技術(shù)細(xì)節(jié)中??赡苡腥藭?huì)說(shuō),開(kāi)發(fā)的時(shí)候就是基于這個(gè)思路開(kāi)發(fā)的,那我一般都是用領(lǐng)域模型設(shè)計(jì)嗎?領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)是由Eric Evans于2003年提出的,主要是作為解決軟件架構(gòu)設(shè)計(jì)的一種思想而提出的。
讀完這本書(shū)的短評(píng)后,我想有很多人認(rèn)為這本書(shū)是正確的廢話。 10年前我讀這本書(shū)時(shí)也有同樣的感覺(jué)。 10年后,微服務(wù)開(kāi)始流行,很多人認(rèn)為這是正確的廢話。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)已成為我的話題。當(dāng)我再讀這本書(shū)的時(shí)候,我真的感覺(jué)我讀懂了。我認(rèn)為秘密就在于領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的六個(gè)字。 DDD的核心思想是以業(yè)務(wù)領(lǐng)域?yàn)樵O(shè)計(jì)核心,將業(yè)務(wù)領(lǐng)域的概念和規(guī)則融入到軟件系統(tǒng)中,以滿(mǎn)足業(yè)務(wù)需求。
領(lǐng)域服務(wù):領(lǐng)域服務(wù)就好比一個(gè)專(zhuān)業(yè)的服務(wù)提供者,可以處理領(lǐng)域內(nèi)復(fù)雜的業(yè)務(wù)邏輯或者跨多個(gè)實(shí)體的操作,類(lèi)似于醫(yī)生或律師。當(dāng)我們?cè)O(shè)計(jì)業(yè)務(wù)系統(tǒng)時(shí),會(huì)遇到一個(gè)非常困難且無(wú)法回避的問(wèn)題:業(yè)務(wù)可擴(kuò)展性、業(yè)務(wù)靈活性、面向?qū)ο?,盡管我們精通設(shè)計(jì)思想、設(shè)計(jì)模式、設(shè)計(jì)原則等關(guān)于如何設(shè)計(jì)靈活性。系統(tǒng)設(shè)計(jì)理論,但我們似乎并沒(méi)有將其應(yīng)用到實(shí)際的業(yè)務(wù)系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)中。為什么?
在進(jìn)行領(lǐng)域設(shè)計(jì)之前,我們首先需要確定受影響元素之間的關(guān)系:支付和折扣。大家好,我是一名Java實(shí)習(xí)生,已經(jīng)練習(xí)了兩年半了。今天我們要講的是架構(gòu)設(shè)計(jì)中的一個(gè)模式,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),也稱(chēng)為DDD,Domain-Driven Design。
它指的是通過(guò)領(lǐng)域劃分來(lái)分解問(wèn)題,通過(guò)有界上下文來(lái)分解系統(tǒng),將一個(gè)復(fù)雜的領(lǐng)域分解為幾個(gè)不太復(fù)雜的子域。不同的子域解決不同的問(wèn)題,不同的子域使用不同的有界上下文。實(shí)現(xiàn)單個(gè)有界上下文的復(fù)雜性是可控的。
相關(guān)推薦