最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

.NET現(xiàn)代應(yīng)用的產(chǎn)品設(shè)計 - DDD實踐

2022-08-22 11:08 作者:MASA技術(shù)團隊  | 我要投稿



統(tǒng)一術(shù)語(戰(zhàn)略設(shè)計)


我們將通過DDD完成業(yè)務(wù)與技術(shù)的完整落地


統(tǒng)一

  • 領(lǐng)域模型術(shù)語

  • DDD模式名稱


技術(shù)

  • 技術(shù)設(shè)計術(shù)語

  • ?技術(shù)術(shù)語

  • ?技術(shù)設(shè)計模式


業(yè)務(wù)

  • ?領(lǐng)域模型術(shù)語

  • DDD模式名稱

  • 業(yè)務(wù)術(shù)語

  • 設(shè)計無關(guān)的業(yè)務(wù)術(shù)語


清晰的事件流


DDD


領(lǐng)域驅(qū)動設(shè)計是一個有關(guān)軟件開發(fā)的方法論,它提出基于領(lǐng)域開發(fā)的開發(fā)模式,基于DDD理論,我們可以設(shè)計出高質(zhì)量的軟件模型。它圍繞業(yè)務(wù)概念構(gòu)建領(lǐng)域模型來控制業(yè)務(wù)的復(fù)雜度,解決軟件難以理解和演化的問題。


戰(zhàn)略設(shè)計(業(yè)務(wù))

領(lǐng)域、子域、限界上下文將領(lǐng)域拆分成子域,

并劃分核心子域、支撐子域和通用子域

  • 以子域展開事件風(fēng)暴,根據(jù)上下文語義劃分限界上下文,建立通用語言,完成領(lǐng)域建模

  • 領(lǐng)域建模將作為能力中心規(guī)劃的重要依據(jù)

  • 完成能力中心地圖和優(yōu)先級后,作為微服務(wù)設(shè)計的輸入完成戰(zhàn)術(shù)設(shè)計


戰(zhàn)術(shù)設(shè)計(技術(shù))

聚合、聚合根、實體、值對象、領(lǐng)域服務(wù)等

  • 按照領(lǐng)域模型完成微服務(wù)設(shè)計和落地

  • 建立聚合、聚合根、實體、值對象、領(lǐng)域服務(wù)等對象之間的依賴關(guān)系,以代碼對象的形式映射到服務(wù)中,采用分層架構(gòu)完成微服務(wù)設(shè)計和落地


事件風(fēng)暴

一種靈活的研討會形式,用于協(xié)作探索復(fù)雜的業(yè)務(wù)領(lǐng)域



活動準備


:業(yè)務(wù)人員,領(lǐng)域?qū)<?,技術(shù)人員,架構(gòu)師,測試等

看板:可以將事件流可視化的白板或者畫圖工具等

彩色貼紙:填寫事件,命令等

業(yè)務(wù)場景:規(guī)定業(yè)務(wù)場景,以一個電商項目為例


事件風(fēng)暴流程精簡版



領(lǐng)域?qū)ο笤O(shè)計


領(lǐng)域?qū)ο箨P(guān)系

  • 分解聚合,提取該聚合包含的領(lǐng)域?qū)ο?/p>

  • 領(lǐng)域?qū)ο蟮臉I(yè)務(wù)不變性

  • 領(lǐng)域?qū)ο缶哂幸恢碌纳芷?/p>

例:

訂單聚合包含訂單實體,訂單行實體

訂單實體包含收貨地址值對象


定義實體與值對象

  • 實體:存在唯一性標識,實體間是否相等的判斷依據(jù)也是唯一標識

  • 值對象:表示屬性的不變值


C4模型


用于可視化軟件架構(gòu):反映軟件架構(gòu)師和開發(fā)人員如何思考和構(gòu)建軟件的抽象

Context:各軟件系統(tǒng)如何交互,不關(guān)注細節(jié)

Containers:可以看到軟件系統(tǒng)內(nèi)部結(jié)構(gòu),如U,服務(wù),DB等如何協(xié)作,通信等

Components:展示容器內(nèi)的組件關(guān)系和組件的職責(zé)

Code:展示組件如何實現(xiàn),如UML類圖、實體關(guān)系圖等,非特別復(fù)雜組件不建議關(guān)注


架構(gòu)設(shè)計


我們簡單的把架構(gòu)設(shè)計看作是三個層面:


業(yè)務(wù)架構(gòu)

根據(jù)業(yè)務(wù)需求設(shè)計業(yè)務(wù)模塊及其關(guān)系

DDD的領(lǐng)域建模其實就已經(jīng)協(xié)助我們做了業(yè)務(wù)架構(gòu)和系統(tǒng)架構(gòu)


系統(tǒng)架構(gòu)

設(shè)計系統(tǒng)與子系統(tǒng)的模塊及其關(guān)系

在DDD中業(yè)務(wù)架構(gòu)是可以直接映射到系統(tǒng)架構(gòu)上的業(yè)務(wù)變化會演變?yōu)橄到y(tǒng)架構(gòu)變化,影響到技術(shù)架構(gòu)變化


技術(shù)架構(gòu)

根據(jù)業(yè)務(wù)需求設(shè)計業(yè)務(wù)模塊及其關(guān)系

技術(shù)架構(gòu)(微服務(wù))則解決子系統(tǒng)之間的解耦,去中心化的服務(wù)治理和數(shù)據(jù)治理


前后分離

戳藍字觀看直播回放

.NET現(xiàn)代應(yīng)用的產(chǎn)品設(shè)計 - DDD實踐

掃碼進群,了解更多

MASA Framework歡迎你的加入



.NET現(xiàn)代應(yīng)用的產(chǎn)品設(shè)計 - DDD實踐的評論 (共 條)

分享到微博請遵守國家法律
清原| 江北区| 永丰县| 江陵县| 通州市| 汽车| 盐城市| 蓬安县| 桃园市| 靖远县| 高陵县| 六枝特区| 江孜县| 原阳县| 韩城市| 洛隆县| 乐至县| 绥阳县| 扎赉特旗| 微博| 金塔县| 东兴市| 永丰县| 马边| 罗江县| 蚌埠市| 青田县| 五台县| 岳普湖县| 延安市| 天柱县| 淅川县| 泾阳县| 邓州市| 九台市| 麟游县| 天等县| 溧水县| 贵溪市| 凭祥市| 涿州市|