首頁 搜尋 我的知識庫
複雜架構極簡化:領域驅動設計(DDD)10倍程式開發速度

複雜架構極簡化:領域驅動設計(DDD)10倍程式開發速度

作者: 張逸
出版社: 深智數位
出版日期: 2022/02/20
ISBN-13: 9789860776843
書店 1






內容描述


現在是你最需要了解DDD的時刻了!
當你要把一個問題拆解處理時,DDD將會是你最大的幫手。

  本書最大的特色就是將整個DDD分成3大類。

  第一大類為業務服務。
  業務服務是全域分析的基本業務單元,在統一語言的指導下完成對業務需求的抽象,既可幫助我們辨識界限上下文,又可幫助開發團隊開展領域分析建模、領域設計建模和領域實現建模。業務服務的粒度也是服務契約的粒度,由此拉近了需求分析與軟體設計的距離,甚至可以說跨越了需求分析與軟體設計的鴻溝。

  第二大類為菱形對稱架構。
  雖然菱形對稱架構脫胎於六邊形架構與整潔架構,但它更為簡潔,與界限上下文的搭配可謂珠聯璧合,既保證了界限上下文作為基本架構單元的自治性,又融入了上下文映射的通訊模式,極大地豐富了設計要素的角色構造型。

  第三大類為服務驅動設計。
  服務驅動設計採用程序式的設計思維,卻又遵循物件導向的職責分配,能在提高設計品質的同時降低開發團隊的設計門檻,完成從領域分析模型到領域實現模型的無縫轉換,並可作為測試驅動開發的前奏,讓領域邏輯的實現變得更加穩健而高效。

本書特色

  ●將整個DDD分成3大類
  〇破解軟體複雜度的新觀念,讓你不被程式碼糾纏人生
  ●了解問題空間和解答空間的觀念
  〇用5個W來探索問題空間,先分析業務流程再開始設計
  ●充分了解Entity、Value Object、Service、Module、Factory、Repository、Aggregate和Domain Event
  〇動手實作領域設計的建模、領域實現建模
  ●融合現在的設計團隊,建立領域驅動模型的戰略


目錄大綱


第一篇 開篇
01 軟體複雜度剖析
1.1 什麼是複雜系統
1.2 了解能力
1.3 預測能力

02 領域驅動設計概覽
2.1 領域驅動設計的基本概念
2.2 領域驅動設計過程
2.3 控制軟體複雜度
2.4 冷靜認識

03 領域驅動設計統一過程
3.1 領域驅動設計現存的不足
3.2 領域驅動設計統一過程

第二篇 全域分析
04 問題空間探索
4.1 全域分析的5W 模型
4.2 高效溝通
4.3 高效協作

05 價值需求分析
5.1 辨識利益相關者
5.2 明確系統願景
5.3 確定系統範圍
5.4 使用商業模式畫布

06 業務需求分析
6.1 業務流程
6.2 業務場景
6.3 子領域

第三篇 架構映射
07 同構系統
7.1 概念層次的同構系統
7.2 設計層次的同構系統
7.3 管理層次的同構系統

08 系統上下文
8.1 「系統內」和「系統外」
8.2 系統上下文
8.3 系統上下文的確定

09 界限上下文
9.1 界限上下文的定義
9.2 界限上下文的特徵
9.3 界限上下文的辨

10 上下文映射
10.1 上下文映射概述
10.2 通訊整合模式
10.3 團隊協作模式
10.4 上下文映射的設計錯誤
10.5 上下文映射的確定

11 服務契約設計
11.1 訊息契約
11.2 服務契約
11.3 設計服務契約

12 領域驅動架構
12.1 菱形對稱架構
12.2 系統分層架構
12.3 領域驅動架構風格

第四篇 領域建模
13 模型驅動設計
13.1 軟體系統中的模型
13.2 模型驅動設計
13.3 領域模型驅動設計

14 領域分析建模
14.1 統一語言與領域分析模型
14.2 快速建模法
14.3 領域分析模型的精煉
14.4 領域分析模型與界限上下文

15 領域模型設計要素
15.1 領域設計模型
15.2 實體
15.3 值物件
15.4 聚合
15.5 聚合生命週期的管理
15.6 領域服務
15.7 領域事件

16 領域設計建模
16.1 角色構造型
16.2 設計聚合
16.3 服務驅動設計

17 領域實現建模
17.1 穩定的領域模型
17.2 測試優先的領域實現建模
17.3 領域建模過程
17.3.1 薪資管理系統的需求

第五篇 融合
18 領域驅動設計的戰略考量
18.1 界限上下文與微服務
18.2 界限上下文之間的分散式通訊
18.3 命令查詢職責的分離
18.4 交易

19 領域驅動設計的戰術考量
19.1 設計概念的統一語言
19.2 領域模型的持久化
19.3 資源庫的實現

20 領域驅動設計系統
20.1 領域驅動設計的精髓
20.2 領域驅動設計能力評估模型
20.3 領域驅動設計參考過程模型
20.4 複習

附錄
A 領域建模範式
A.1 結構建模範式
A.2 物件建模範式
A.3 函數建模範式

B 事件驅動模型
B.1 事件風暴
B.2 事件溯源模式
B.3 事件驅動架構

C 領域驅動設計魔方
C.1 發展過程的里程碑
C.2 領域驅動設計魔方
C.3 全域分析的魔方切面
C.4 架構映射的魔方切面
C.5 領域建模

D 領域驅動設計統一過程發表物
全域分析規格說明書
架構映射戰略設計方案

E 參考文獻


作者介紹


作者簡介

張逸

  高品質編碼實踐者、領域驅動設計佈道師、微服務系統架構師、大數據平台架構師、敏捷轉型諮詢師,曾就職於中興通訊、惠普、思特沃克(ThoughtWorks)、民航(成都)信息等企業,致力於大型軟體企業的分佈式架構設計、領域驅動設計、大數據平台架構設計以及垂直領域的企業架構規劃與建設,並為國內外多家企業提供技術培訓與諮詢服務。






相關書籍

MAC超密技!省時省力的APPLE工作術

TQC+Flash動畫設計認證指南解題秘笈:Flash CC

AutoCAD 2020電腦繪圖與絕佳設計表現:室內設計基礎(附560分鐘基礎影音教學/範例檔)

AI行銷:未來商業新視界 AI Marketing - A New Vision for Future Business