1.领域驱动设计是一种能够有效应对软件复杂度的领域逻辑设计方法,本书适合希望提高软件架构能力的软件架构师和提高领域建模能力开发人员等学习参考。 2.本书试图解构领域驱动设计,进一步精化与提炼领域驱动设计方法体系,提出了“领域驱动设计统一过程”。 3.本书通过真实而完整的案例*展现了如何进行领域驱动设计统一过程的实施和落地。 4.本书引入了业务服务、菱形对称架构、领域驱动架构、服务驱动设计等方法与模式,总结了领域驱动设计参考过程模型与能力评估模型。 5.本书提出的一整套方法体系已在多个项目中推广和落地。
售 价:¥
纸质售价:¥74.90购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版 权
内容提要
序 一
序 二
序 三
序 四
前 言
资源与支持
第一篇 开篇
第1章 软件复杂度剖析
1.1 什么是复杂系统
1.2 理解能力
1.2.1 规模
1.2.2 结构
1.3 预测能力
1.3.1 过度设计
1.3.2 设计不足
第2章 领域驱动设计概览
2.1 领域驱动设计的基本概念
2.1.1 领域驱动设计元模型
2.1.2 问题空间和解空间
2.1.3 战略设计和战术设计
2.1.4 领域模型驱动设计
2.2 领域驱动设计过程
2.3 控制软件复杂度
2.3.1 控制规模
2.3.2 清晰结构
2.3.3 响应变化
2.4 冷静认识
第3章 领域驱动设计统一过程
3.1 领域驱动设计现存的不足[2]
3.2 领域驱动设计统一过程
3.2.1 统一过程的二维模型
3.2.2 统一过程的动态结构
3.2.3 统一过程的静态结构
第二篇 全局分析
第4章 问题空间探索
4.1 全局分析的5W模型
4.2 高效沟通
4.2.1 达成共识
4.2.2 统一语言
4.3 高效协作
4.3.1 商业模式画布
4.3.2 业务流程图
4.3.3 服务蓝图
4.3.4 用例图
4.3.5 事件风暴
4.3.6 学习循环
第5章 价值需求分析
5.1 识别利益相关者
5.1.1 什么是利益相关者
5.1.2 利益相关者的分类
5.2 明确系统愿景
5.3 确定系统范围
5.4 使用商业模式画布
第6章 业务需求分析
6.1 业务流程
6.1.1 业务流程的关键点
6.1.2 业务流程的分类
6.1.3 业务流程的呈现
6.2 业务场景
6.2.1 业务场景的5W模型
6.2.2 业务服务
6.2.3 业务服务的识别
6.2.4 业务服务的呈现
6.3 子领域
6.3.1 子领域元模型
6.3.2 子领域的划分
6.3.3 子领域映射图
第三篇 架构映射
第7章 同构系统
7.1 概念层次的同构系统
7.1.1 架构的定义
7.1.2 架构方案的推演
7.1.3 领域驱动架构风格
7.2 设计层次的同构系统
7.3 管理层次的同构系统
7.3.1 组建团队的原则
7.3.2 康威定律的运用
第8章 系统上下文
8.1 “系统内”和“系统外”
8.2 系统上下文
8.2.1 伴生系统
8.2.2 系统上下文图
8.3 系统上下文的确定
8.3.1 参考价值需求
8.3.2 业务序列图
第9章 限界上下文
9.1 限界上下文的定义
9.2 限界上下文的特征
9.2.1 领域模型的知识语境
9.2.2 业务能力的纵向切分
9.2.3 自治的架构单元
9.2.4 案例:供应链的商品模型
9.3 限界上下文的识别
9.3.1 业务维度
9.3.2 验证原则
9.3.3 管理维度
9.3.4 技术维度
第10章 上下文映射
10.1 上下文映射概述
10.2 通信集成模式
10.2.1 防腐层
10.2.2 开放主机服务
10.2.3 发布语言
10.2.4 共享内核
10.3 团队协作模式
10.3.1 合作者
10.3.2 客户方/供应方
10.3.3 发布者/订阅者
10.3.4 分离方式
10.3.5 遵奉者
10.4 上下文映射的设计误区
10.4.1 语义关系形成的误区
10.4.2 对象模型形成的误区
10.5 上下文映射的确定
10.5.1 任务分解的影响
10.5.2 呈现上下文映射
第11章 服务契约设计
11.1 消息契约
11.1.1 消息契约模型
11.1.2 消息契约的转换
11.2 服务契约
11.2.1 应用服务
11.2.2 远程服务
11.3 设计服务契约
11.3.1 业务服务的细化
11.3.2 服务序列图
11.3.3 服务契约的表示
第12章 领域驱动架构
12.1 菱形对称架构
12.1.1 六边形架构
12.1.2 整洁架构思想
12.1.3 分层架构
12.1.4 演进为菱形对称架构
12.1.5 菱形对称架构的组成
12.1.6 引入上下文映射
12.1.7 改进的菱形对称架构
12.1.8 菱形对称架构的价值
12.1.9 菱形对称架构的运用
12.2 系统分层架构
12.2.1 关注点分离
12.2.2 映射子领域
12.2.3 边缘层
12.3 领域驱动架构风格
第四篇 领域建模
第13章 模型驱动设计
13.1 软件系统中的模型
13.2 模型驱动设计
13.3 领域模型驱动设计
13.3.1 领域模型
13.3.2 共同建模
13.3.3 领域模型与统一语言
13.3.4 迭代建模
第14章 领域分析建模
14.1 统一语言与领域分析模型
14.2 快速建模法
14.2.1 名词建模
14.2.2 动词建模
14.2.3 归纳抽象
14.2.4 确定关系
14.3 领域分析模型的精炼
14.4 领域分析模型与限界上下文
第15章 领域模型设计要素
15.1 领域设计模型
15.1.1 理想的对象模型
15.1.2 战术设计元模型
15.1.3 模型元素的哲学依据
15.2 实体
15.2.1 身份标识
15.2.2 属性
15.2.3 领域行为
15.3 值对象
15.3.1 值对象与实体的本质区别
15.3.2 不变性
15.3.3 领域行为
15.3.4 值对象的优势
15.4 聚合
15.4.1 类的关系
15.4.2 模型的设计约束
15.4.3 聚合的定义与特征
15.4.4 聚合的设计原则
15.4.5 聚合的协作
15.5 聚合生命周期的管理
15.5.1 工厂
15.5.2 资源库
15.6 领域服务
15.6.1 聚合的问题
15.6.2 领域服务的特征
15.6.3 领域服务的运用场景
15.7 领域事件
15.7.1 建模思想的转变
15.7.2 领域事件的定义
15.7.3 对象建模范式的领域事件
第16章 领域设计建模
16.1 角色构造型
16.1.1 角色构造型与领域驱动设计
16.1.2 领域驱动设计的角色构造型
16.2 设计聚合
16.2.1 理顺对象图
16.2.2 分解关系薄弱处
16.2.3 调整聚合边界
16.3 服务驱动设计
16.3.1 业务服务
16.3.2 业务服务的层次
16.3.3 服务驱动设计方法
16.3.4 服务驱动设计过程
16.3.5 业务服务的关键价值
第17章 领域实现建模
17.1 稳定的领域模型
17.1.1 菱形对称架构与测试金字塔
17.1.2 测试形成的精炼文档
17.1.3 单元测试
17.2 测试优先的领域实现建模
17.2.1 测试驱动开发
17.2.2 测试驱动开发的节奏
17.2.3 简单设计
17.3 领域建模过程
17.3.1 薪资管理系统的需求说明
17.3.2 薪资管理系统的领域分析建模
17.3.3 薪资管理系统的领域设计建模
17.3.4 薪资管理系统的领域实现建模
第五篇 融合
第18章 领域驱动设计的战略考量
18.1 限界上下文与微服务
18.1.1 进程内的通信边界
18.1.2 进程间的通信边界
18.1.3 限界上下文与微服务的关系
18.2 限界上下文之间的分布式通信
18.2.1 分布式通信的设计因素
18.2.2 分布式通信机制
18.3 命令查询职责的分离
18.3.1 CQS模式
18.3.2 CQRS模式的架构
18.3.3 命令总线的引入
18.3.4 事件溯源模式的引入
18.3.5 事件总线的引入
18.4 事务
18.4.1 本地事务
18.4.2 分布式事务
18.4.3 柔性事务
第19章 领域驱动设计的战术考量
19.1 设计概念的统一语言
19.1.1 设计术语的统一
19.1.2 诸多“XO”
19.1.3 领域驱动设计的设计统一语言
19.2 领域模型的持久化
19.2.1 对象关系映射
19.2.2 JPA的应对之道
19.2.3 瞬态领域模型
19.2.4 领域模型与数据模型
19.3 资源库的实现
19.3.1 通用资源库的实现
19.3.2 资源库端口与适配器
19.3.3 聚合的领域纯粹性
19.3.4 领域服务的协调价值
第20章 领域驱动设计体系
20.1 领域驱动设计的精髓
20.1.1 边界是核心
20.1.2 纪律是关键
20.2 领域驱动设计能力评估模型
20.2.1 敏捷迭代能力
20.2.2 需求分析能力
20.2.3 领域建模能力
20.2.4 架构设计能力
20.3 领域驱动设计参考过程模型
20.3.1 EAS案例背景
20.3.2 EAS的全局分析
20.3.3 EAS的架构映射
20.3.4 EAS的领域建模
20.3.5 EAS的融合设计
20.4 总结
附录A 领域建模范式
A.1 结构建模范式
A.1.1 结构化编程的设计原则
A.1.2 结构化编程的问题
A.1.3 结构建模范式的设计模型
A.2 对象建模范式
A.2.1 职责
A.2.2 抽象
A.3 函数建模范式
A.3.1 代数数据类型
A.3.2 纯函数
A.3.3 函数建模范式的演绎法
附录B 事件驱动模型
B.1 事件风暴
B.1.1 理解事件风暴
B.1.2 探索业务全景
B.1.3 领域分析建模
B.1.4 事件风暴与建模范式
B.2 事件溯源模式
B.2.1 领域事件的定义
B.2.2 聚合的创建与更新
B.2.3 快照
B.2.4 面向聚合的事件溯源
B.2.5 聚合查询的改进
B.3 事件驱动架构
B.3.1 事件驱动架构风格
B.3.2 引入事件流
附录C 领域驱动设计魔方
C.1 发展过程的里程碑
C.2 领域驱动设计魔方
C.3 全局分析的魔方切面
C.3.1 业务角度
C.3.2 技术角度
C.3.3 管理角度
C.4 架构映射的魔方切面
C.4.1 业务角度
C.4.2 技术角度
C.4.3 管理角度
C.5 领域建模
C.5.1 业务角度
C.5.2 技术角度
C.5.3 管理角度
附录D 领域驱动设计统一过程交付物
D.1 价值需求
D.1.1 利益相关者
D.1.2 系统愿景
D.1.3 系统范围
D.2 业务需求
D.2.1 概述
D.2.2 业务流程
D.2.3 子领域1…n
D.3 系统上下文
D.3.1 概述
D.3.2 系统协作
D.4 业务架构
D.4.1 业务组件
D.4.2 业务架构视图
D.5 应用架构
D.5.1 应用组件
D.5.2 应用架构视图
D.6 子领域架构
D.6.1 核心子领域1…n
D.6.2 支撑子领域
D.6.3 通用子领域
参考文献
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜