×
暂无评论
图文详情
  • ISBN:9787115641342
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:236
  • 出版时间:2024-09-01
  • 条形码:9787115641342 ; 978-7-115-64134-2

本书特色

实践导向,通过工作坊形式,将理论与实践紧密结合,使读者能够在实际操作中学习和掌握DDD;

案例丰富,将综合项目案例系统拆分成多个子系统,帮助读者深入理解DDD在不同场景下的应用;

全面覆盖,从基础概念到架构设计,涵盖DDD的各个方面,为读者提供全面的学习路径;

易于理解,以清晰的结构和语言,确保复杂的概念易于理解,便于读者快速掌握DDD的核心思想。

注重实用,附赠讲解视频,丰富学习方式。

内容简介

本书通过一个完整项目案例由浅入深地介绍了业务建模和软件设计的方法论——领域驱动设计(Domain Driven Design,DDD)。首先,本书介绍了DDD的基本概念和主流设计方法,同时引入贯穿全书的案例系统,并完成案例系统的基础设计;其次,围绕DDD的统一语言、子域和限界上下文展开讨论,探讨从问题空间进入解空间的解决方案;再次,从领域建模范式讲起,详细分析实体、值对象、聚合、领域服务、应用服务和领域事件等DDD中与战术设计相关的核心概念,并给出各个组件的设计方法和使用技巧;*后,围绕常见领域驱动架构模式及DDD架构考量,给出DDD的架构设计和整合方案。
本书结构清晰、内容丰富、图文并茂,适合团队负责人、业务设计人员、系统设计人员以及架构师等阅读。

目录

基础概念篇

第 1章 领域驱动设计体系 2

1.1 软件复杂度剖析 2

1.1.1 软件复杂度与规模 3

1.1.2 软件复杂度与结构 6

1.1.3 软件复杂度与变化 10

1.2 引入领域驱动设计 14

1.2.1 领域驱动设计基础 14

1.2.2 领域驱动战略设计 18

1.2.3 领域驱动战术设计 20

1.2.4 领域驱动设计和软件复杂度 24

1.3 领域驱动设计与架构融合 28

1.3.1 领域驱动设计与单体应用 28

1.3.2 领域驱动设计与微服务架构 29

1.3.3 领域驱动设计与中台架构 30

1.4 本章小结 31

第 2章 工作坊案例系统 32

2.1 工作坊的基本概念和开展方式 32

2.1.1 工作坊的基本概念 32

2.1.2 准备工作 33

2.1.3 流程和阶段 35

2.2 案例系统介绍 36

2.3 案例系统基础设计 37

2.3.1 基础设计目标 37

2.3.2 基础设计流程 38

2.3.3 基础设计交付物 39

2.4 本章小结 44



战略设计篇

第3章 统一语言与子域 46

3.1 统一语言 46

3.1.1 沟通的问题和策略 46

3.1.2 统一语言的结构化表述 48

3.1.3 统一语言的实现模式 50

3.2 子域 53

3.2.1 子域的划分方法 54

3.2.2 子域的分类和映射 54

3.3 本章小结 56

第4章 限界上下文 57

4.1 引入限界上下文 57

4.1.1 限界上下文的定义 58

4.1.2 限界上下文的特性 59

4.1.3 限界上下文的设计 62

4.2 识别限界上下文 63

4.2.1 从业务维度识别限界上下文 63

4.2.2 从工作维度识别限界上下文 65

4.2.3 从技术维度识别限界上下文 65

4.3 限界上下文映射 67

4.3.1 上下游关系和映射 67

4.3.2 团队协作模式 68

4.3.3 通信集成模式 72

4.3.4 影响上下文映射的考量点 76

4.4 限界上下文案例讲解 79

4.5 本章小结 82

第5章 事件风暴 83

5.1 探索业务全景 83

5.2 实施事件风暴 84

5.2.1 事件风暴基本概念 84

5.2.2 事件风暴实施方法 89

5.3 事件风暴应用实践 97

5.3.1 事件风暴流程裁剪 97

5.3.2 事件风暴*佳实践 98

5.4 事件风暴案例讲解 100

5.5 本章小结 101

第6章 战略设计工作坊演练 102

6.1 案例系统战略设计 102

6.1.1 战略设计目标 102

6.1.2 战略设计流程 103

6.2 战略设计工作坊演练环节 104

6.2.1 事件建模 104

6.2.2 聚合分析 108

6.2.3 子域划分 116

6.2.4 限界上下文映射 118

6.3 战略设计工作坊演练*佳实践 120

6.3.1 事件的建模 122

6.3.2 核心领域概念的处理 123

6.4 本章小结 124



战术设计篇

第7章 实体和值对象 126

7.1 控制类的组成 126

7.2 实体 128

7.2.1 实体的唯一标识和属性 128

7.2.2 实体的领域行为 131

7.3 值对象 133

7.3.1 值对象的识别 133

7.3.2 值对象的特征 134

7.4 实体和值对象建模案例讲解 136

7.5 本章小结 138

第8章 聚合 140

8.1 控制类的关系 140

8.2 引入聚合 141

8.2.1 聚合的定义和特征 142

8.2.2 聚合的设计原则 143

8.3 聚合的协作方式 144

8.3.1 聚合的关联关系 145

8.3.2 聚合的依赖关系 147

8.4 聚合生命周期管理 147

8.4.1 工厂 148

8.4.2 资源库 149

8.5 聚合设计案例讲解 153

8.6 本章小结 155

第9章 服务、事件与基础设施 156

9.1 领域服务 156

9.1.1 领域服务的示例 156

9.1.2 领域服务的应用场景 157

9.2 应用服务 159

9.2.1 应用服务的定位 159

9.2.2 应用服务的应用场景 162

9.2.3 应用服务的设计原则 164

9.3 领域事件 166

9.3.1 领域事件和事件驱动架构 166

9.3.2 领域事件的发布和订阅 168

9.4 基础设施 172

9.5 本章小结 174

第 10章 战术设计工作坊演练 175

10.1 案例系统战术设计 175

10.1.1 战术设计目标 175

10.1.2 战术设计流程 176

10.2 战术设计工作坊演练环节 177

10.2.1 战术设计效果展示 177

10.2.2 设计聚合、实体和值对象 178

10.2.3 设计事件和服务 180

10.2.4 设计限界上下文核心业务操作 181

10.3 战术设计工作坊演练*佳实践 185

10.3.1 聚合的设计 185

10.3.2 值对象的设计 186

10.4 本章小结 187



架构设计篇

第 11章 领域驱动实现架构 190

11.1 常见领域驱动架构模式 190

11.1.1 DDD经典分层架构 190

11.1.2 DDD整洁架构 194

11.1.3 DDD六边形架构 195

11.1.4 DDD架构的映射性 197

11.2 领域驱动设计的架构考量 198

11.2.1 限界上下文的物理表现 199

11.2.2 CQRS和DDD 202

11.2.3 事件溯源和CQRS 205

11.2.4 数据一致性 208

11.3 本章小结 209

第 12章 架构设计工作坊演练 210

12.1 案例系统架构设计 210

12.1.1 架构设计目标 210

12.1.2 架构设计流程 211

12.2 架构设计工作坊演练环节 212

12.2.1 划分业务服务 212

12.2.2 确定业务服务操作 213

12.2.3 触发领域事件 214

12.2.4 实现业务服务交互 215

12.3 架构设计工作坊演练*佳实践 216

12.3.1 整合战略设计和战术设计 219

12.3.2 事件与柔性事务 219

12.3.3 查询类操作的设计 220

12.4 本章小结 222
展开全部

作者简介

郑天民,日本足利工业大学信息工程学硕士,拥有十余年软件行业从业经验,目前在一家大健康领域的创新型科技公司担任CTO,负责产品研发与技术团队管理工作。他开发过十余个面向开发人员的技术和管理类培训课程项目,在架构设计和技术管理方面有丰富的经验。他是阿里云MVP、腾讯云TVP、TGO鲲鹏会会员。他著有《Apache ShardingSphere实战》《Spring响应式微服务:Spring Boot 2 Spring 5 Spring Cloud实战》《系统架构设计》《微服务设计原理与架构》《Spring Security原理与实践》等图书。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航