培訓(xùn)時(shí)間:

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)與實(shí)踐——軟件核心復(fù)雜性應(yīng)對(duì)之道

  培訓(xùn)講師:曾老師

  時(shí)間地點(diǎn):
2025年08月30-31日 深圳
2025年10月17-18日 深圳
2025年11月15-16日 深圳
2025年12月27-28日 深圳

  培訓(xùn)費(fèi)用:3980

  贈(zèng)送積分:3980

    服務(wù)電話:010-82593357

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)與實(shí)踐——軟件核心復(fù)雜性應(yīng)對(duì)之道詳細(xì)內(nèi)容

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)與實(shí)踐——軟件核心復(fù)雜性應(yīng)對(duì)之道

【開課時(shí)間】 2025年8月30-31日 ( 周六、日)10月17-18日 (周五、六)

11月 15-16日( 周六、日)  12月27-28日  (周六、日)

【培訓(xùn)地點(diǎn)】:深圳

【培訓(xùn)費(fèi)用】:3980元/人(培訓(xùn)費(fèi)用、資料費(fèi)、茶歇、結(jié)業(yè)證書、稅費(fèi),一年內(nèi)可免費(fèi)復(fù)訓(xùn))

注:此課程我們可以提供企業(yè)內(nèi)部培訓(xùn)與咨詢服務(wù)

 

解決的關(guān)鍵問題

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(Domain Driven Design,DDD)自誕生以來已有十幾年時(shí)間,它是針對(duì)復(fù)雜系統(tǒng)設(shè)計(jì)的一套軟件工程方法。由于面向?qū)ο蠓治雠c設(shè)計(jì)(OOA/OOD)的廣泛應(yīng)用,并且與前期需求分析和后期系統(tǒng)開發(fā)有機(jī)銜接,在行業(yè)產(chǎn)生廣泛的影響,具有深遠(yuǎn)的指導(dǎo)意義。但是,由于軟件的復(fù)雜度越來越龐雜和微服務(wù)的興起,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)通過分而治之控制軟件規(guī)模,即一個(gè)大型復(fù)雜軟件都是由一個(gè)或多個(gè)微服務(wù)組成的,系統(tǒng)中的每個(gè)微服務(wù)可被獨(dú)立部署,微服務(wù)之間松耦合,且每個(gè)微服務(wù)只關(guān)注完成自己的任務(wù)并很好地完成任務(wù)。所以,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的思想和微服務(wù)架構(gòu)風(fēng)格的融合,從而指導(dǎo)復(fù)雜業(yè)務(wù)需求的軟件系統(tǒng)的設(shè)計(jì)、開發(fā)與維護(hù),降低了系統(tǒng)業(yè)務(wù)分析的復(fù)雜度和技術(shù)實(shí)現(xiàn)的難度。

隨著業(yè)務(wù)領(lǐng)域的知識(shí)體系的龐大和復(fù)雜,業(yè)務(wù)處理邏輯或業(yè)務(wù)規(guī)則業(yè)隨之復(fù)雜、難于理解、難于清晰的表達(dá)等,并且其中夾雜的大量信息與軟件需要解決的問題無關(guān)。所以,在復(fù)雜系統(tǒng)設(shè)計(jì)方面存在如下主要問題:

規(guī)模造就的復(fù)雜度:隨著需求的變化,系統(tǒng)規(guī)模會(huì)不斷擴(kuò)張,軟件復(fù)雜度也不斷增長(zhǎng),除了需求功能本身的增加,還有功能之間的聯(lián)系變的牽一發(fā)而動(dòng)全身,并且這個(gè)復(fù)雜度的增長(zhǎng)往往是指數(shù)級(jí)的趨勢(shì),這樣造成了軟件相關(guān)人員需要掌握大量信息,提升自己對(duì)業(yè)務(wù)需求和軟件的理解。

結(jié)構(gòu)造就的復(fù)雜度:為了滿足非功能性質(zhì)量需求,例如高性能,高并發(fā)和高可靠性,在系統(tǒng)中引入緩存、并發(fā)處理、異步消息、海量數(shù)據(jù)的分布式存儲(chǔ)和高效分布式計(jì)算等讓系統(tǒng)在結(jié)構(gòu)上變得復(fù)雜;為了保持系統(tǒng)有序,提高代碼可維護(hù)性,利用分層架構(gòu)達(dá)到不同層次職責(zé)分離,設(shè)計(jì)的方案在架構(gòu)上帶來了溝通成本的增加和管理上的困難;為了降低業(yè)務(wù)復(fù)雜度,拆分不同的子領(lǐng)域,往往因守不住領(lǐng)域的邊界而喪失了拆分的價(jià)值,系統(tǒng)結(jié)構(gòu)會(huì)變的越來越混亂,會(huì)讓軟件的修改變得不確定。

變化造就的復(fù)雜度:在設(shè)計(jì)軟件系統(tǒng)時(shí),設(shè)計(jì)人員是無法完全預(yù)測(cè)系統(tǒng)的變化,一方面可能過于考慮變化的影響,過度的設(shè)計(jì)付出的成本就是浪費(fèi),另一方面,如果不對(duì)變化做任何的預(yù)測(cè),又因不停的變化而不斷的付出較大研發(fā)成本。

培訓(xùn)對(duì)象

研發(fā)總監(jiān)、研發(fā)經(jīng)理/項(xiàng)目經(jīng)理/技術(shù)經(jīng)理/產(chǎn)品經(jīng)理、系統(tǒng)工程師、軟件研發(fā)程序員和工程師、產(chǎn)品規(guī)劃專員。

課程收益

面對(duì)大型復(fù)雜業(yè)務(wù)系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)理念的提升;

傳統(tǒng)的軟件系統(tǒng)設(shè)計(jì)分析方法(OOA/OOD)的優(yōu)點(diǎn)和存在的問題;

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的重點(diǎn)和難點(diǎn),以及它解決問題的方法和過程;

從領(lǐng)域問題到領(lǐng)域解決方案,全過程每個(gè)節(jié)點(diǎn)步驟的思想和方法;

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)中,上下文切分的思路,微服務(wù)關(guān)鍵問題的思考;

領(lǐng)域驅(qū)動(dòng)建模中,從分析建?!O(shè)計(jì)建?!鷮?shí)現(xiàn)建模的技術(shù)手段和思路。

 

詳細(xì)課程大綱

4.1 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)--歷史背景

當(dāng)前軟件系統(tǒng)開發(fā)面對(duì)的難題:系統(tǒng)需求的不確定性和易變性,以及系統(tǒng)的復(fù)雜性。

⑴   當(dāng)前存在的問題是什么?

系統(tǒng)的復(fù)雜性:?jiǎn)栴}的復(fù)雜性、實(shí)現(xiàn)的靈活性、行為描述的隨意性和管理開發(fā)過程的困難性;

⑵   領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的目標(biāo)是什么?

軟件復(fù)雜性的應(yīng)對(duì)之道:大型復(fù)雜業(yè)務(wù)系統(tǒng)分而治之的思想!

l  規(guī)模--通過分而治之控制規(guī)模;

l  結(jié)構(gòu)--通過邊界保持清晰有序;

l  變化--順應(yīng)變化方向。

⑶   領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的方法是什么?

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的策略:大型復(fù)雜業(yè)務(wù)系統(tǒng)的領(lǐng)域建模方法體系!

l  規(guī)模--以子領(lǐng)域、限界上下文對(duì)問題空間與解空間分而治之;

l  結(jié)構(gòu)--以分層架構(gòu)隔離業(yè)務(wù)復(fù)雜度與技術(shù)復(fù)雜度,形成清晰的架構(gòu);

l  變化--經(jīng)領(lǐng)域抽象,以聚合為核心的領(lǐng)域建模,響應(yīng)需求變化。

4.2 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)--設(shè)計(jì)思想

講述領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)基本概念、主要內(nèi)容、設(shè)計(jì)思想和設(shè)計(jì)過程,準(zhǔn)確領(lǐng)悟領(lǐng)域驅(qū)動(dòng)的戰(zhàn)略設(shè)計(jì)和戰(zhàn)術(shù)設(shè)計(jì)的內(nèi)容及關(guān)系。

⑴   領(lǐng)域驅(qū)動(dòng)的概念、歷史根源和智慧;

⑵   領(lǐng)域驅(qū)動(dòng)的問題和步驟(六個(gè)問題和六個(gè)步驟);

⑶   領(lǐng)域模型的概念和主要思想;

⑷   領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的主要內(nèi)容和過程;

⑸   準(zhǔn)確領(lǐng)悟領(lǐng)域驅(qū)動(dòng)的戰(zhàn)略設(shè)計(jì)和戰(zhàn)術(shù)設(shè)計(jì),以及戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系。

4.3 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)--全局分析

全局分析的目標(biāo)就是確定問題空間,在統(tǒng)一語言的指導(dǎo)下,通過各種可視化手段,由領(lǐng)域?qū)<遗c團(tuán)隊(duì)一起完成對(duì)問題空間的探索,幫助領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)對(duì)準(zhǔn)問題,輸出價(jià)值需求和業(yè)務(wù)需求。

價(jià)值需求既是目標(biāo)系統(tǒng)的目標(biāo),也是對(duì)目標(biāo)系統(tǒng)問題空間的界定和約束,它指導(dǎo)著業(yè)務(wù)需求分析。

業(yè)務(wù)需求由動(dòng)態(tài)的業(yè)務(wù)流程和靜態(tài)的業(yè)務(wù)活動(dòng)組成,二者的結(jié)合依靠業(yè)務(wù)場(chǎng)景按照時(shí)間點(diǎn)和業(yè)務(wù)目標(biāo)對(duì)業(yè)務(wù)流程的切分。

通過運(yùn)用商業(yè)模式畫布,可以獲得組成價(jià)值需求的利益相關(guān)者、系統(tǒng)愿景和系統(tǒng)范圍。

業(yè)務(wù)流程梳理可以幫助團(tuán)隊(duì)對(duì)問題空間的各條業(yè)務(wù)線構(gòu)成一個(gè)整體認(rèn)識(shí),弄清楚各種角色如何參與到一個(gè)完整的流程中,流程的時(shí)序性也可以避免識(shí)別業(yè)務(wù)活動(dòng)時(shí)可能出現(xiàn)的缺失。

業(yè)務(wù)流程圖與服務(wù)藍(lán)圖以可視化的方式形象地呈現(xiàn)每一個(gè)提供了業(yè)務(wù)價(jià)值的業(yè)務(wù)流程。

業(yè)務(wù)活動(dòng)是角色與目標(biāo)系統(tǒng)之間的一次功能性交互,是體現(xiàn)了服務(wù)價(jià)值的功能行為。

一直以來,該如何確定業(yè)務(wù)需求層次,劃分業(yè)務(wù)需求粒度,總是眾說紛紜,沒有一個(gè)客觀的標(biāo)準(zhǔn);業(yè)務(wù)活動(dòng)將目標(biāo)系統(tǒng)視為一個(gè)黑盒子,從功能性交互的完整性保證了每個(gè)業(yè)務(wù)活動(dòng)都是正交的,就無需再考慮業(yè)務(wù)活動(dòng)的層次和粒度,或者說,只要確定了完整性,保障了正交性,業(yè)務(wù)活動(dòng)的層次與粒度也就確定下來了。

業(yè)務(wù)活動(dòng)可以使用用例、用戶故事或事件風(fēng)暴中的事件來表達(dá)。

業(yè)務(wù)活動(dòng)是全局分析階段的基本業(yè)務(wù)單元,它的輸出對(duì)于架構(gòu)映射與領(lǐng)域建模具有重要意義:

架構(gòu)映射:業(yè)務(wù)活動(dòng)是識(shí)別限界上下文、確定上下文映射的基礎(chǔ),同時(shí),它的粒度正好對(duì)應(yīng)每個(gè)限界上下文向外公開的服務(wù)契約;

領(lǐng)域模型:業(yè)務(wù)需求分析細(xì)化的業(yè)務(wù)活動(dòng)既是領(lǐng)域分析建模的重要參考,同時(shí)又作為服務(wù)場(chǎng)景成為場(chǎng)景驅(qū)動(dòng)設(shè)計(jì)的起點(diǎn)。

全局分析是領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)統(tǒng)一過程的起點(diǎn),它的目的是探索問題空間,使團(tuán)隊(duì)就問題空間的價(jià)值需求和業(yè)務(wù)需求達(dá)成共識(shí),并在統(tǒng)一語言的指導(dǎo)下將其清晰地呈現(xiàn)出來。只有問題定義清楚了,團(tuán)隊(duì)才能更好地尋求解決方案。

4.4 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)--架構(gòu)映射

⑴  軟件架構(gòu)及映射概念

介紹軟件架構(gòu)的概念定義。

軟件架構(gòu)模式:

MVC架構(gòu)、分層架構(gòu)、DCI架構(gòu)、CQRS架構(gòu)、微服務(wù)分布式架構(gòu)等。

架構(gòu)映射

架構(gòu)映射成為獲得架構(gòu)設(shè)計(jì)的主要設(shè)計(jì)手段。價(jià)值需求的利益相關(guān)者、系統(tǒng)愿景和系統(tǒng)范圍可映射系統(tǒng)上下文;業(yè)務(wù)服務(wù)的歸類和歸納可映射為限界上下文,系統(tǒng)上下文與限界上下文共同組成系統(tǒng)架構(gòu)的重要層次,前者勾勒出解空間的控制邊界,后者勾勒出領(lǐng)域模型的知識(shí)邊界,組成了一個(gè)穩(wěn)定而又具有演進(jìn)能力的領(lǐng)域驅(qū)動(dòng)架構(gòu)。

系統(tǒng)上下文

系統(tǒng)上下文:以目標(biāo)系統(tǒng)為核心,勾勒出用戶、目標(biāo)系統(tǒng)和伴生系統(tǒng)之間的關(guān)系。

系統(tǒng)上下文的確定

價(jià)值需求的中利益相關(guān)者可以充當(dāng)系統(tǒng)上下文的用戶。

系統(tǒng)的范圍可以幫助界定系統(tǒng)解空間的邊界,劃分目標(biāo)系統(tǒng)和伴生系統(tǒng)。

結(jié)合系統(tǒng)愿景進(jìn)行判斷,與愿景不相匹配的功能和業(yè)務(wù)不考慮。

限界上下文

限界上下文是領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)中最難解析的原則,但也是最重要的原則??梢哉f,沒有限界上下文,就不能做好領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)。

 

 

 

 

 


對(duì)復(fù)雜系統(tǒng)進(jìn)行分析或者綜合時(shí)可以運(yùn)用的方法:自頂向下和自底向上。

限界上下文識(shí)別的步驟:分析和歸納

業(yè)務(wù)知識(shí)的歸類

業(yè)務(wù)知識(shí)的歸納

業(yè)務(wù)主體的邊界梳理

呈現(xiàn)限界上下文

上下文映射

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)強(qiáng)調(diào)通過深入理解業(yè)務(wù)領(lǐng)域,將業(yè)務(wù)模型從業(yè)務(wù)專家的角度抽象出來。然后,在應(yīng)用中貫穿地使用這些模型,使開發(fā)人員和業(yè)務(wù)專家能夠更好地協(xié)同合作。

通過問題空間到解空間獲得業(yè)務(wù)維度的限界上下文,同時(shí)還要確定上下文與業(yè)務(wù)服務(wù)之間的映射關(guān)系,這對(duì)設(shè)計(jì)服務(wù)契約是限界文之間的協(xié)作關(guān)系,在領(lǐng)域分析建模時(shí)確定領(lǐng)域模型與限界上下文的關(guān)系。

 

上下文映射圖的可視化呈現(xiàn)只是一種形式,重要是限界上下文的協(xié)作模式,它們組成上下文映射模型。限界上下文之間的映射模式:客戶方/供應(yīng)方、遵奉者、合作關(guān)系、共享內(nèi)核、防腐層、開放主機(jī)服務(wù)、發(fā)布語言、分離方式、大泥球模式。

⑸  服務(wù)契約設(shè)計(jì)

服務(wù)契約:在全局分析階段輸出的業(yè)務(wù)需求稱之為業(yè)務(wù)服務(wù),業(yè)務(wù)服務(wù)滿足了角色的服務(wù)請(qǐng)求,在解空間體現(xiàn)為服務(wù)與客戶的協(xié)作關(guān)系,形成的協(xié)作接口可稱之契約。

服務(wù)契約:消息契約、服務(wù)資源契約、服務(wù)行為契約、服務(wù)事件契約。

應(yīng)用服務(wù)與領(lǐng)域服務(wù)之間:領(lǐng)域?qū)优c應(yīng)用界面之間引入應(yīng)用層,應(yīng)用層盡量簡(jiǎn)單,不包含業(yè)務(wù)規(guī)則或者知識(shí),只為領(lǐng)域?qū)又械念I(lǐng)域?qū)ο髤f(xié)調(diào)任務(wù),分配工作,使它們互相協(xié)作;簡(jiǎn)單理解:“應(yīng)用層只負(fù)責(zé)提問,不負(fù)責(zé)回答;領(lǐng)域?qū)佑肋h(yuǎn)只負(fù)責(zé)回答?!睉?yīng)用層定義的應(yīng)用服務(wù)是外觀模式的體現(xiàn)。

⑹  領(lǐng)域驅(qū)動(dòng)架構(gòu)

領(lǐng)域驅(qū)動(dòng)架構(gòu)是針對(duì)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的一種架構(gòu)風(fēng)格。它以領(lǐng)域?yàn)楹诵尿?qū)動(dòng)力,以業(yè)務(wù)能力為核心關(guān)注點(diǎn),建立目標(biāo)系統(tǒng)的結(jié)構(gòu)解決方案。其核心模型為系統(tǒng)上下文與限界上下文,并以它們?yōu)檫吔?,形成各自的架?gòu)模式:系統(tǒng)分層架構(gòu)和菱形架構(gòu)模式。

領(lǐng)域驅(qū)動(dòng)架構(gòu):領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)建立的一種架構(gòu)風(fēng)格。

以領(lǐng)域?yàn)楹诵尿?qū)動(dòng)力,以業(yè)務(wù)能力為核心關(guān)注點(diǎn),建立目標(biāo)系統(tǒng)解決方案。

領(lǐng)域模型為驅(qū)動(dòng)的核心關(guān)注點(diǎn)進(jìn)行縱向切分自治單元。

核心元模型以系統(tǒng)上下文與限界上下文為邊界,形成各自架構(gòu)模式:分層架構(gòu)和菱形對(duì)稱架構(gòu)。

限界上下文是架構(gòu)映射階段的基本單元,每個(gè)限界上下文是一個(gè)自治的獨(dú)立王國(guó)(微服務(wù))。

 

4.5 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)--領(lǐng)域建模

領(lǐng)域建模的過程是模型驅(qū)動(dòng)設(shè)計(jì)的過程,領(lǐng)域建模的分析、設(shè)計(jì)和實(shí)現(xiàn)是循序漸進(jìn)的增量和迭代的過程。

利用抽象化繁為簡(jiǎn),通過標(biāo)準(zhǔn)的結(jié)構(gòu)來組織和傳遞信息,形成可推演的解決方案。

解決信息超載問題的工具,對(duì)知識(shí)進(jìn)行了選擇性的簡(jiǎn)化和有意的結(jié)構(gòu)化。

模型的重要性并不體現(xiàn)在它表現(xiàn)形式,重要是在于它傳遞的知識(shí)。

 

 

⑴  模型驅(qū)動(dòng)設(shè)計(jì)

模型驅(qū)動(dòng)設(shè)計(jì)就是把產(chǎn)品需求轉(zhuǎn)化成一個(gè)可以運(yùn)行的系統(tǒng),涉及產(chǎn)品設(shè)計(jì)、領(lǐng)域建模、架構(gòu)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、代碼編寫、測(cè)試等步驟。DDD的基本過程進(jìn)一步展開來說,大體是以下三點(diǎn):

在理解產(chǎn)品需求的基礎(chǔ)上,從中提取出核心概念,然后建立起核心概念的邏輯結(jié)構(gòu),概念的邏輯結(jié)構(gòu)即領(lǐng)域模型,領(lǐng)域模型以一種抽象的視角來理解復(fù)雜業(yè)務(wù),但也僅僅是理解業(yè)務(wù)。

有了領(lǐng)域模型,也有了系統(tǒng)架構(gòu),到了這一步通常還不能直接開始編碼,一般會(huì)對(duì)系統(tǒng)架構(gòu)中的各個(gè)模塊進(jìn)行詳細(xì),比如模塊的流程是什么,數(shù)據(jù)結(jié)構(gòu)怎么設(shè)計(jì)、DB數(shù)據(jù)表怎么設(shè)計(jì)等。

要用代碼搭建起一套可運(yùn)行的系統(tǒng)。從領(lǐng)域模型到代碼,通常不能一步跨越,中間需要通過系統(tǒng)架構(gòu)來銜接。把領(lǐng)域模型映射為系統(tǒng)架構(gòu),這是至關(guān)重要的一步。簡(jiǎn)單來說,一般都采用分層微服務(wù)架構(gòu),架構(gòu)映射即是把領(lǐng)域模型中的概念分解到架構(gòu)中的各層。

領(lǐng)域分析建模

對(duì)于一個(gè)復(fù)雜的軟件系統(tǒng),必須對(duì)問題系統(tǒng)展開分析,有的放矢這對(duì)軟件系統(tǒng)需求尋求設(shè)計(jì)上的解決方案。在戰(zhàn)略設(shè)計(jì)階段采用“全局分析”和“架構(gòu)映射”,在戰(zhàn)術(shù)層面,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)要求分析方法就是要以“領(lǐng)域”為中心展開分析建模,獲得領(lǐng)域分析模型。這個(gè)過程是以領(lǐng)域?qū)<抑鲗?dǎo),與開發(fā)團(tuán)隊(duì)一起共同進(jìn)行分析建模,以戰(zhàn)略分析為基礎(chǔ)(系統(tǒng)上下文和限界上下文),再進(jìn)行戰(zhàn)術(shù)設(shè)計(jì)(領(lǐng)域分析模型)。

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的關(guān)鍵是采取合理的方式對(duì)領(lǐng)域進(jìn)行建模,也就是將物理世界的業(yè)務(wù)映射到軟件系統(tǒng)產(chǎn)品中,最終使得軟件產(chǎn)品能夠承載實(shí)際的業(yè)務(wù)??梢詮娜缦聨讉€(gè)方面來進(jìn)行領(lǐng)域建模:

 

⑶  領(lǐng)域設(shè)計(jì)建模

領(lǐng)域設(shè)計(jì)建模:它的核心工作就是設(shè)計(jì)聚合和設(shè)計(jì)服務(wù),最關(guān)鍵的設(shè)計(jì)要素(實(shí)體、值對(duì)象、領(lǐng)域服務(wù)、領(lǐng)域事件、聚合、工廠、資源庫(kù))。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)從不忽略技術(shù)因素對(duì)模型的影響,它引入戰(zhàn)術(shù)層面設(shè)計(jì)元模型,將技術(shù)與領(lǐng)域模型結(jié)合,避免空談對(duì)象模型的理想。

領(lǐng)域設(shè)計(jì)模型:只能由實(shí)體、值對(duì)象、領(lǐng)域服務(wù)和領(lǐng)域事件表示模型,避免將領(lǐng)域邏輯泄漏到領(lǐng)域?qū)油獾钠渌胤健?/p>

聚合用于封裝實(shí)體和值對(duì)象,并維持自己邊界內(nèi)所有對(duì)象的完整性。

要訪問聚合,只能通過聚合根的資源庫(kù),這就隱式地劃定了邊界和入口,有效控制了聚合內(nèi)所有類型的領(lǐng)域?qū)ο螅?/p>

若聚合創(chuàng)建的邏輯較為復(fù)雜或存在可變性,可引入工廠來創(chuàng)建聚合內(nèi)的領(lǐng)域?qū)ο蟆?/p>

若牽涉到實(shí)體的狀態(tài)變更,領(lǐng)域源模型建議通過領(lǐng)域事件來驅(qū)動(dòng)。

設(shè)計(jì)框架總體結(jié)構(gòu)采用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的分層架構(gòu),但不同的是該結(jié)構(gòu)嚴(yán)格遵循分層架構(gòu)的基本原則,不允許用戶界面層越過應(yīng)用層直接接觸領(lǐng)域?qū)印S捎陬I(lǐng)域?qū)邮穷I(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的核心,而其它層經(jīng)常在各類分層架構(gòu)中出現(xiàn),已經(jīng)有了比較成熟的設(shè)計(jì)方法。因此,分層架構(gòu)框架主要討論領(lǐng)域?qū)右约芭c領(lǐng)域?qū)用芮?相關(guān)的數(shù)據(jù)訪問模塊的設(shè)計(jì)。領(lǐng)域?qū)邮歉鶕?jù)不同實(shí)際領(lǐng)域,利用統(tǒng)一編碼規(guī)則實(shí)現(xiàn)的動(dòng)態(tài)結(jié)構(gòu),又可分為聚合模塊、工廠模塊和倉(cāng)儲(chǔ)模塊三部分。數(shù)據(jù)訪問模塊屬于基礎(chǔ)結(jié)構(gòu)層,是封裝好的靜態(tài)模塊。

 

 

 

 

 


領(lǐng)域?qū)崿F(xiàn)建模

代碼架構(gòu)分層是經(jīng)典領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的四層:用戶接口層,應(yīng)用層,領(lǐng)域?qū)雍突A(chǔ)設(shè)施層。

 

用戶接口層:面向前端用戶提供服務(wù)和數(shù)據(jù)適配。這一層聚集了接口和數(shù)據(jù)適配相關(guān)的功能。

應(yīng)用層:實(shí)現(xiàn)服務(wù)組合與編排,主要適應(yīng)業(yè)務(wù)流程快速變化的需求。這一層聚集了應(yīng)用服務(wù)和時(shí)間訂閱相關(guān)的功能。

領(lǐng)域?qū)樱簩?shí)現(xiàn)領(lǐng)域模型的聚合、聚合根、實(shí)體、值對(duì)象、領(lǐng)域服務(wù)和領(lǐng)域事件對(duì)象的協(xié)同和組合形成領(lǐng)域模型的核心業(yè)務(wù)能力。

基礎(chǔ)設(shè)施層:它貫穿所有層,為各層提供基礎(chǔ)資源服務(wù)。這一層聚集了各種底層資源相關(guān)的服務(wù)和能力。

4.6 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)--案例分析

展示和講解5個(gè)項(xiàng)目案例

 

授課講師介紹:

曾老師:高級(jí)工程師,畢業(yè)于武漢大學(xué)計(jì)算機(jī)系,從事計(jì)算機(jī)軟件研發(fā)管理工作30余年。曾在項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理、研發(fā)部門經(jīng)理及產(chǎn)品總監(jiān)崗位有過多年的工作經(jīng)驗(yàn)。曾是中國(guó)水力發(fā)電工程學(xué)會(huì)電力系統(tǒng)自動(dòng)化專業(yè)委員會(huì)第三屆和第四屆委員,中國(guó)能源研究會(huì)高級(jí)會(huì)員?,F(xiàn)在一直從事電力系統(tǒng)計(jì)算機(jī)應(yīng)用軟件系統(tǒng)的研發(fā)與管理工作,主持和參與過省部級(jí)科技項(xiàng)目4項(xiàng),地市級(jí)科技項(xiàng)目3項(xiàng),以及多項(xiàng)公司級(jí)的重點(diǎn)項(xiàng)目和產(chǎn)品。獲得新產(chǎn)品技術(shù)鑒定國(guó)際領(lǐng)先科技成果1項(xiàng),發(fā)表學(xué)術(shù)論文13篇,專利成果22項(xiàng)(發(fā)明13項(xiàng)、實(shí)用新型6項(xiàng)、外觀3項(xiàng)),軟件著作權(quán)5項(xiàng)。獲2005年珠海市科技進(jìn)步一等獎(jiǎng)和2021年珠海市科技進(jìn)步二等獎(jiǎng)、2014年授予珠海市軟件創(chuàng)新人才和2016年珠海市香洲區(qū)C類高端產(chǎn)業(yè)人才、主持研發(fā)的《XX-XXXX發(fā)電企業(yè)現(xiàn)場(chǎng)作業(yè)安全管控系統(tǒng)》獲2021年全國(guó)智慧風(fēng)電科技成果優(yōu)秀獎(jiǎng)等。

主講的課程:軟件研發(fā)培訓(xùn)課程四部曲

課程一:《基于AI大模型軟件研發(fā)思想與技術(shù)》

——軟件研發(fā)智能化的新紀(jì)元!

課程二:《軟件需求工程實(shí)踐及方法》

——軟件研發(fā)成功的技術(shù)保障!

課程三:《領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)與實(shí)踐》

——軟件核心復(fù)雜性解決之道!

課程四:《軟件產(chǎn)品平臺(tái)及CBB技術(shù)》

——軟件研發(fā)效率質(zhì)量的利器!

主要工作經(jīng)歷:

1990年7月~1998年11月,云南以禮河發(fā)電廠計(jì)算機(jī)室,曾擔(dān)任計(jì)算室負(fù)責(zé)人;

1998年12月~1999年11月,珠海泰坦能源電子技術(shù)有限公司,曾擔(dān)任項(xiàng)目經(jīng)理;

1999年12月~2004年4月,珠海遠(yuǎn)方軟件有限公司,曾擔(dān)任項(xiàng)目經(jīng)理和研發(fā)部經(jīng)理;

2004年5月~現(xiàn)在,在XXX公司,曾擔(dān)任項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理和產(chǎn)品總監(jiān),現(xiàn)為產(chǎn)品顧問。

重點(diǎn)項(xiàng)目經(jīng)歷/經(jīng)驗(yàn)

廣東省科技項(xiàng)目《XX-XXXX配電網(wǎng)防誤綜合操作系統(tǒng)》,粵科計(jì)字[2008]144號(hào)

廣東省教育部產(chǎn)學(xué)研科技項(xiàng)目《配電網(wǎng)智能防誤綜合操作系統(tǒng)》,粵財(cái)教[2010]303號(hào)

廣東省科技項(xiàng)目《車輛段檢修作業(yè)安全聯(lián)鎖管理系統(tǒng)》,粵科規(guī)財(cái)[2016]48號(hào)

廣東省科技項(xiàng)目《基于物聯(lián)網(wǎng)技術(shù)的電力操作系統(tǒng)和設(shè)備巡檢系統(tǒng)》,粵科規(guī)劃字[2012]98號(hào)

珠海市產(chǎn)學(xué)研項(xiàng)目《基于數(shù)字孿生技術(shù)的電廠作業(yè)安全智能管控系統(tǒng)研發(fā)及產(chǎn)業(yè)化》

珠海市戰(zhàn)略性新興產(chǎn)業(yè)重大項(xiàng)目《變電站輔助監(jiān)控系統(tǒng)》,珠科工信[2014]160號(hào)

珠海市戰(zhàn)略性新興產(chǎn)業(yè)重大項(xiàng)目《基于IP通信網(wǎng)絡(luò)的智能電網(wǎng)協(xié)調(diào)控制系統(tǒng)研發(fā)及產(chǎn)業(yè)化》

公司級(jí)項(xiàng)目《XX-XXXX發(fā)電企業(yè)現(xiàn)場(chǎng)作業(yè)安全管控系統(tǒng)》鑒定為“國(guó)際領(lǐng)先水平”,獲珠??萍歼M(jìn)步二等獎(jiǎng)

公司級(jí)項(xiàng)目《XX-XXXX操作票專家系統(tǒng)》,獲珠海市科學(xué)技術(shù)進(jìn)步一等獎(jiǎng)

公司級(jí)項(xiàng)目《XX-XXXX工作票專家系統(tǒng)》

公司級(jí)項(xiàng)目《XX-XXXX設(shè)備巡檢系統(tǒng)》

 

 

 

我要報(bào)名沒有找到合適的課程,請(qǐng)?jiān)谶@里提交您的培訓(xùn)需求   發(fā)布需求

上課時(shí)間
參加人數(shù)
費(fèi)用
聯(lián)系人
單位名稱
部門職務(wù)
機(jī)
通信地址
驗(yàn)
看不清,請(qǐng)換一張看不清,請(qǐng)換一張

推薦課程

《降低采購(gòu)成本及供應(yīng)商談判技巧》【課程時(shí)間】3月28-29日【培訓(xùn)地點(diǎn)】佛山【培訓(xùn)費(fèi)用】RMB4800 元/人,(含培訓(xùn)費(fèi)、教材費(fèi)、稅費(fèi)、茶點(diǎn))【課程對(duì)象】總經(jīng)理副總 采購(gòu)與供應(yīng)鏈管理管理人員研發(fā)管理人員 品質(zhì)管理人員財(cái)務(wù)管理人員生產(chǎn)管理人員【報(bào)名電話】課程背景降本增效將成為很多企業(yè)不得不面對(duì)的困境!建立完善采購(gòu)成本控制的科學(xué)方案和供應(yīng)商管理規(guī)則,達(dá)到高效全...

 講師:南斌詳情


工廠物流規(guī)劃、倉(cāng)儲(chǔ)管理與高效物料配送實(shí)戰(zhàn)時(shí)間地點(diǎn):2025年6月26-27日上海;8月30-31日上海;12月20-21日上海培訓(xùn)費(fèi)用:4680元/人(含培訓(xùn)費(fèi)、資料費(fèi)、午餐、稅費(fèi)等)培訓(xùn)目標(biāo):根據(jù)目前制造業(yè)制造企業(yè)物流部門面臨客戶需求預(yù)測(cè)不準(zhǔn)、產(chǎn)品技術(shù)更新快, BOM更改頻繁、銷售預(yù)測(cè)不準(zhǔn),產(chǎn)能限制,導(dǎo)致生產(chǎn)計(jì)劃頻繁變動(dòng)、物料計(jì)劃不準(zhǔn),供應(yīng)商供貨不及時(shí)或不...

 講師:翟光明詳情


《采購(gòu)流程優(yōu)化及供應(yīng)商評(píng)估與管理》課程時(shí)長(zhǎng):2天-13小時(shí) 9;00-12:00 13:30-17:00{課程背景}作為一名采購(gòu)人員,應(yīng)該具備哪些專業(yè)技能,以協(xié)助公司建立規(guī)范化、高效化的采購(gòu)流程?作為一名采購(gòu)人員,應(yīng)該具備哪些專業(yè)技能,以助力公司完善高質(zhì)量、更穩(wěn)定的供應(yīng)商管理體系。后疫情時(shí)代,各行各業(yè)仍需經(jīng)受巨大的考驗(yàn)和挑戰(zhàn)。而作為采購(gòu)職業(yè)經(jīng)理人的我們,應(yīng)該...

 講師:張仲豪 方老師 田老師詳情


降本增效   2025-08-30

降本增效日期地址:2025年6月28日上海;8月30日上海培訓(xùn)費(fèi)用:5280元/人(含培訓(xùn)費(fèi)、資料費(fèi)、午餐、稅費(fèi)等)培訓(xùn)收益理解降本增效的重要性再一次認(rèn)識(shí)開源節(jié)流從日常傳統(tǒng)生產(chǎn)成本管控到資金占用、效率管控如何運(yùn)用有效的措施降本增效從頭部企業(yè)的降本增效帶來的思考培訓(xùn)對(duì)象企業(yè)中高管管理者以及財(cái)務(wù)人員。培訓(xùn)大綱第一章:降本增效的概念如何理解降本的“本”?開源節(jié)流降...

詳情


管理問題分析與改進(jìn)主講:管理微案例專家、管理學(xué)博士 韓超課程對(duì)象:企業(yè)中高層管理者、團(tuán)隊(duì)領(lǐng)導(dǎo)者、各部門負(fù)責(zé)人課程時(shí)間:2025年5月24-25日、8月30-31日課程地點(diǎn):廣州課程費(fèi)用:4800元/人課程簡(jiǎn)介具體內(nèi)容安排以課前3個(gè)月的邀請(qǐng)函為準(zhǔn)課程背景管理不能憑感覺,要用思考代替直覺,尤其是面對(duì)復(fù)雜的管理問題,管理者的思路要清晰,不能猶豫和等待,需要立即決策...

 講師:韓超詳情


非財(cái)務(wù)經(jīng)理的財(cái)務(wù)管理日期地址:2025年6月26-27日上海;7月24-25日上海;8月30-31日上海;9月25-26日上海;11月27-28日上海;12月20-21日上海培訓(xùn)費(fèi)用:5280元/人(含培訓(xùn)費(fèi)、資料費(fèi)、午餐、稅費(fèi)等)培訓(xùn)收益掌握基礎(chǔ)的財(cái)務(wù)知識(shí),讀懂公司常用財(cái)務(wù)報(bào)表理解各部門的經(jīng)營(yíng)活動(dòng)如何影響公司的財(cái)務(wù)狀況各部門與財(cái)務(wù)人員在統(tǒng)一的平臺(tái)上達(dá)成有效...

 講師:William Wu詳情


高效的管理溝通技巧訓(xùn)練主講:田勝波老師2025年08月30青島 2025年08月23西安2025年09月13上海 2025年10月18上海2025年11月07上海 2025年11月22北京2025年12月20上海培訓(xùn)費(fèi):2600元/人(包括聽課費(fèi)、講義費(fèi)、午餐費(fèi)、水果茶點(diǎn)等),食宿費(fèi)用自理。備注:《中高層經(jīng)理管理技能與領(lǐng)導(dǎo)力修煉》3天課程中的第二天課程目標(biāo)充...

 講師:田勝波詳情


大客戶開發(fā)與維護(hù)高級(jí)研修班培訓(xùn)時(shí)間: 25年3月21-22日 25年8月30-31日 北京培訓(xùn)費(fèi)用: 4680元/人(含培訓(xùn)費(fèi)、教材費(fèi)、午餐費(fèi)、茶點(diǎn)費(fèi)等)培訓(xùn)對(duì)象:本課程適用于企業(yè)以行商(銷售人員外出找業(yè)務(wù))銷售管理人員和銷售人員學(xué)習(xí)適合于工業(yè)品、設(shè)備、工程、項(xiàng)目型銷售模式培訓(xùn)目標(biāo):通過培訓(xùn),使學(xué)員能在短時(shí)間內(nèi)逐步轉(zhuǎn)變以敘述方式為主轉(zhuǎn)為以提問方式為主與大客戶...

 講師:李新章詳情


視頻號(hào)矩陣破局班:一套易復(fù)制、可放大的高效獲客模式主講:短視頻矩陣獲客導(dǎo)師、千萬級(jí)IP操盤手 郭琳打造過800w粉絲矩陣、百萬發(fā)售操盤手 潘導(dǎo)課程對(duì)象:實(shí)體老板、創(chuàng)始人/運(yùn)營(yíng)負(fù)責(zé)人、操盤手/實(shí)戰(zhàn)派玩家、超級(jí)個(gè)體適合所有有自己的變現(xiàn)產(chǎn)品/項(xiàng)目的老板和核心班子一起來聽課程時(shí)間:2025 年 8 月 30-31 日課程地點(diǎn):廣州課程費(fèi)用:3980元/人1. 真正讓...

 講師:郭琳 潘導(dǎo)詳情


供應(yīng)鏈管理運(yùn)作高級(jí)研修班培訓(xùn)時(shí)間:25年3月15-16日線上直播25年08月30-31日線上直播26年1月24-25日線上直播培訓(xùn)費(fèi)用: 4280元/人培訓(xùn)對(duì)象:供應(yīng)鏈總監(jiān)、經(jīng)理、主管和采購(gòu)、項(xiàng)目管理、材料管理、運(yùn)營(yíng)管理、供應(yīng)商質(zhì)量保證、財(cái)務(wù)、計(jì)劃、物流和其他供應(yīng)鏈相關(guān)專業(yè)人士。課程背景:在21世紀(jì)初,世界權(quán)威的《財(cái)富》( Fortune)雜志將供應(yīng)鏈管理列...

 講師:胡偉詳情


COPYRIGT @ 2001-2018 HTTP://fanshiren.cn INC. ALL RIGHTS RESERVED. 管理資源網(wǎng) 版權(quán)所有