課程簡介
本課程基于多年實踐領域驅(qū)動設計的經(jīng)驗與心得,糅合了 DDD 社區(qū)最新發(fā)展的理論知識與最佳實踐,覆蓋從需求到實現(xiàn)全面系統(tǒng)的講解領域驅(qū)動設計。本篇是方法論篇,
目標收益
學員通過課程,可以深入學習到企業(yè)級N層的框架實現(xiàn)原理。每一層的職責以及功能目標,DDD中的核心戰(zhàn)術概念及工具,比如:領域服務,領域事件,資源庫,聚合,實體,值對象。以及DDD的戰(zhàn)略建模工具,如:界限上下文,上下文映射圖。以及對于以上這些概念,在代碼層面的設計于實現(xiàn)。
培訓對象
具有以下經(jīng)驗的 架構(gòu)師,后端開發(fā)工程師,以及其他軟件從業(yè)人員
具有基礎的架構(gòu)設計知識
至少掌握一門面向?qū)ο笳Z言
具有基本的面向?qū)ο蟪绦蛟O計能力
具有一年或一年以上的業(yè)務系統(tǒng)開發(fā)經(jīng)驗
課程大綱
一、軟件復雜度 - 軟件行業(yè)的主要任務就是對應復雜度 |
1.領域驅(qū)動設計概覽 2.戰(zhàn)略與戰(zhàn)術 3.戰(zhàn)略層面的三件事 與 戰(zhàn)術層面的核心結(jié)構(gòu) 4.軟件復雜度的三個成因 5.分離關注點 – Unix 設計哲學 6.隔離業(yè)務復雜度與技術復雜度 7.復雜度的橫切與縱切 8.SOLID原則 9.SRP – 單一職責原則 10.OCP – 開放封閉原則 11.LSP – 里氏替換原則 12.ISP – 接口隔離原則 13.DIP – 依賴倒置原則 14.領域驅(qū)動設計對軟件復雜度的對應 |
二、通用語言 - 工欲善其事必先利其器 |
1.領域?qū)<遗c開發(fā)者的溝通失調(diào) 2.通用語言關鍵點 - 5W2H1E 3.通用語言關鍵點擴展 - Pre/Post Condition 4.案例 - “高端客戶優(yōu)惠”這個需求如何做? 5.通用語言的價值 6.通用語言的代碼表達 7.運用領域場景分析提煉領域知識 8.建立統(tǒng)一語言 |
三、界限上下文 – 有問題必有解決方案 |
1.界限上下文的目的:消除歧義 2.界限上下文與通用語言 3.案例:銀行賬戶在不同上下文的分析與隔離 4.不要將有二義性的領域概念放在同一界限上下文中 5.理解界限上下文 6.識別界限上下文 7.理解上下文映射 8.上下文映射的團隊協(xié)作模式 9.上下文映射的通信集成模式 辯別限界上下文的協(xié)作關系 |
四、架構(gòu) – 總有一款適合你 |
1.認識分層架構(gòu) 2.分層架構(gòu)的演化 3.領域驅(qū)動架構(gòu)的演進 4.界限上下文與架構(gòu) 5.六邊形架構(gòu) 6.端口與適配器 7.整潔架構(gòu) 8.CQRS架構(gòu) 9.在CQRS中處理具有最終一致性的查詢模型 10.事件溯源 Event Souring 11.使用樂觀鎖處理并發(fā)更新 12.事件溯源和發(fā)布事件 13.冪等方式處理消息 14.使用快照提升性能 15.管道與過濾器 16.SAGA (消息驅(qū)動事務) 17.協(xié)同式與編排式 18.SAGA下實現(xiàn)隔離 |
一、軟件復雜度 - 軟件行業(yè)的主要任務就是對應復雜度 1.領域驅(qū)動設計概覽 2.戰(zhàn)略與戰(zhàn)術 3.戰(zhàn)略層面的三件事 與 戰(zhàn)術層面的核心結(jié)構(gòu) 4.軟件復雜度的三個成因 5.分離關注點 – Unix 設計哲學 6.隔離業(yè)務復雜度與技術復雜度 7.復雜度的橫切與縱切 8.SOLID原則 9.SRP – 單一職責原則 10.OCP – 開放封閉原則 11.LSP – 里氏替換原則 12.ISP – 接口隔離原則 13.DIP – 依賴倒置原則 14.領域驅(qū)動設計對軟件復雜度的對應 |
二、通用語言 - 工欲善其事必先利其器 1.領域?qū)<遗c開發(fā)者的溝通失調(diào) 2.通用語言關鍵點 - 5W2H1E 3.通用語言關鍵點擴展 - Pre/Post Condition 4.案例 - “高端客戶優(yōu)惠”這個需求如何做? 5.通用語言的價值 6.通用語言的代碼表達 7.運用領域場景分析提煉領域知識 8.建立統(tǒng)一語言 |
三、界限上下文 – 有問題必有解決方案 1.界限上下文的目的:消除歧義 2.界限上下文與通用語言 3.案例:銀行賬戶在不同上下文的分析與隔離 4.不要將有二義性的領域概念放在同一界限上下文中 5.理解界限上下文 6.識別界限上下文 7.理解上下文映射 8.上下文映射的團隊協(xié)作模式 9.上下文映射的通信集成模式 辯別限界上下文的協(xié)作關系 |
四、架構(gòu) – 總有一款適合你 1.認識分層架構(gòu) 2.分層架構(gòu)的演化 3.領域驅(qū)動架構(gòu)的演進 4.界限上下文與架構(gòu) 5.六邊形架構(gòu) 6.端口與適配器 7.整潔架構(gòu) 8.CQRS架構(gòu) 9.在CQRS中處理具有最終一致性的查詢模型 10.事件溯源 Event Souring 11.使用樂觀鎖處理并發(fā)更新 12.事件溯源和發(fā)布事件 13.冪等方式處理消息 14.使用快照提升性能 15.管道與過濾器 16.SAGA (消息驅(qū)動事務) 17.協(xié)同式與編排式 18.SAGA下實現(xiàn)隔離 |