
— 新聞中心 —
NEWS CENTRES
全國免費(fèi)客服電話 18268652722 郵箱:www.jungshuodz@163.com
手機(jī):18268652722
電話:18268652722
地址:寧波市北侖區(qū)大碶廟前山路45號
人氣:
域驅(qū)動(dòng)設(shè)計(jì)軟件復(fù)雜性應(yīng)對之道,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)實(shí)戰(zhàn)案例.jpg)
域驅(qū)動(dòng)設(shè)計(jì)軟件復(fù)雜性應(yīng)對之道,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)實(shí)戰(zhàn)案例.jpg)
不要太關(guān)注書中描述的具體技術(shù)和設(shè)計(jì)方法。領(lǐng)域模型貫穿概念模型、邏輯和物理設(shè)計(jì)模型,貫穿從需求收集、分析、設(shè)計(jì)、實(shí)現(xiàn)到測試部署的整個(gè)開發(fā)過程。要注意從整體的角度去理解。領(lǐng)域驅(qū)動(dòng)思維收集需求時(shí),與業(yè)務(wù)專家的溝通就開始了領(lǐng)域模型的建模工作;深入分析和整合需求。顯式有界上下文:在設(shè)計(jì)和開發(fā)過程中,明確業(yè)務(wù)領(lǐng)域的邊界,定義各個(gè)上下文的職責(zé)和限制。
第一次接觸領(lǐng)域驅(qū)動(dòng)是為了避免模型貧乏,把方法寫在實(shí)體中,但這太武斷了。微服務(wù)提倡領(lǐng)域驅(qū)動(dòng)設(shè)計(jì):微服務(wù)架構(gòu)提倡將系統(tǒng)分解為小型的、自治的服務(wù)。每個(gè)服務(wù)都應(yīng)該有明確的邊界和職責(zé)。這就需要服務(wù)使用領(lǐng)域語言進(jìn)行通信,這可以促進(jìn)領(lǐng)域的發(fā)展。驅(qū)動(dòng)設(shè)計(jì)的實(shí)踐。答案是,梳理流程時(shí)必須有業(yè)務(wù)專家在場,因?yàn)闆]有真實(shí)的業(yè)務(wù)細(xì)節(jié),領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)是不可能的。
通過這樣的設(shè)計(jì),我們可以更好地理解和建模業(yè)務(wù)領(lǐng)域,將業(yè)務(wù)邏輯和業(yè)務(wù)流程與代碼分離,從而達(dá)到高內(nèi)聚、低耦合的目標(biāo),提高軟件質(zhì)量和可維護(hù)性。下面是一個(gè)例子,假設(shè)我們有一個(gè)在線商店,客戶可以在那里訂購商品,我們使用DDD 和CQRS 來設(shè)計(jì)和實(shí)現(xiàn)這個(gè)系統(tǒng)。例如,業(yè)務(wù)模型比較簡單、易于分析的業(yè)務(wù)就不需要使用DDD。還有一些項(xiàng)目的目標(biāo)是快速驗(yàn)證項(xiàng)目,時(shí)間短、速度快,前期可能不需要使用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)。
他在世界各地宣揚(yáng)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)的思想,提供課程、參加會(huì)議、接受獨(dú)家采訪,擁有大量追隨者。性能測試:在設(shè)計(jì)系統(tǒng)時(shí),需要設(shè)置系統(tǒng)支持的最大上限等指標(biāo),檢查性能指標(biāo)是否滿足。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)是由Eric Evans于2003年提出的,主要是作為解決軟件架構(gòu)設(shè)計(jì)的一種思想而提出的。
DDD指領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),是一種主要致力于解決復(fù)雜業(yè)務(wù)領(lǐng)域的建模和實(shí)現(xiàn)問題的軟件設(shè)計(jì)方法論。擅長方向——系統(tǒng)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)、設(shè)計(jì)模式與框架、并發(fā)編程以及微服務(wù)、區(qū)塊鏈等分布式系統(tǒng)和事務(wù)。選擇合適的持久化解決方案:在領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)中,選擇合適的持久化解決方案非常重要。需要考慮業(yè)務(wù)需求、系統(tǒng)架構(gòu)、可擴(kuò)展性、可維護(hù)性等因素。
DDD的核心思想是以業(yè)務(wù)領(lǐng)域?yàn)樵O(shè)計(jì)核心,將業(yè)務(wù)領(lǐng)域的概念和規(guī)則融入到軟件系統(tǒng)中,以滿足業(yè)務(wù)需求。領(lǐng)域?qū)<沂侵笇I(yè)務(wù)領(lǐng)域非常熟悉(或者在業(yè)務(wù)領(lǐng)域工作多年)的人。以下是一個(gè)簡單的Java 代碼示例,演示如何使用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD) 的概念來定義實(shí)體、值對象和聚合。
一、聚焦邊界】確定項(xiàng)目愿景和目標(biāo),確定問題空間,確定核心子領(lǐng)域、通用子領(lǐng)域(多個(gè)子領(lǐng)域可以復(fù)用)、支撐子領(lǐng)域(附加功能,如作為數(shù)據(jù)統(tǒng)計(jì)和出口報(bào)告)
上一篇:驅(qū)動(dòng)之家打印機(jī)驅(qū)動(dòng),驅(qū)動(dòng)大師
下一篇:風(fēng)力發(fā)電機(jī)一臺(tái)造價(jià)多少錢大型,風(fēng)力發(fā)電機(jī)一臺(tái)造價(jià)要多少
相關(guān)推薦