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