类似推荐
编辑推荐
资深架构师15年经验总结,全面剖析DDD核心概念、技术体系、开发框架,手把手教你从零构建一个完整的DDD应用。
内容简介
DDD本身涉及的概念多,而且技术组件的实现也比较复杂,对于初学者来说门槛相对较高。本书在写作上另辟蹊径,首先用很短的篇幅将限界上下文、聚合、实体等十几组核心概念和技术组件,以及Spring Boot、Spring Cloud和Axon等开发DDD应用的主流开源框架做了一个简单的介绍,然后用8章的篇幅讲解了一个综合性的案例,不仅将前面提到的这些核心概念、技术组件和开发框架的原理、使用全部融入到了案例中,还一步步地详细讲解了DDD应用的实现方式和落地细节。
作者简介
作者郑天民,日本足利工业大学信息工程学硕士,拥有10余年软件行业从业经验,目前在一家大健康领域的创新型科技公司担任CTO,负责产品研发与技术团队管理工作。开发过10余个面向研发人员的技术和管理类培训课程项目,在架构设计和技术管理方面具有丰富的经验和深入的理解。他还是阿里云MVP、腾讯云TVP、TGO鲲鹏会会员。
著有《Apache ShardingSphere实战》《Spring响应式微服务Spring Boot 2+Spring 5+Spring Cloud实战》《系统架构设计》《向技术管理者转型》《微服务设计原理与架构》《微服务架构实战》等图书。
章节目录
版权信息
前言
第1章 引入DDD
1.1 面向领域的设计思想
1.1.1 业务模型和系统复杂度
1.1.2 领域驱动设计的维度
1.2 面向领域的设计方法
1.2.1 面向领域的战略设计
1.2.2 面向领域的战术设计
1.3 应用DDD
1.3.1 DDD与单体架构
1.3.2 DDD与微服务架构
1.3.3 DDD与中台架构
1.4 本章小结
第2章 DDD核心概念
2.1 子域和限界上下文
2.1.1 子域的类型
2.1.2 限界上下文的映射和集成
2.2 领域模型对象
2.2.1 实体和值对象
2.2.2 聚合
2.3 领域服务
2.4 领域事件
2.5 资源库
2.5.1 资源库模式
2.5.2 资源库的设计策略
2.6 应用服务
2.6.1 应用服务的定位
2.6.2 应用服务的分类
2.7 基础设施
2.8 本章小结
第3章 DDD案例分析
3.1 HealthMonitor业务体系
3.1.1 案例描述和通用语言
3.1.2 案例建模流程
3.2 子域和限界上下文
3.2.1 HealthMonitor子域
3.2.2 HealthMonitor限界上下文
3.3 领域模型对象
3.3.1 HealthMonitor聚合
3.3.2 HealthMonitor实体
3.3.3 HealthMonitor值对象
3.4 领域事件和事务
3.4.1 HealthMonitor领域事件
3.4.2 HealthMonitor事务
3.5 应用服务
3.5.1 HealthMonitor命令服务
3.5.2 HealthMonitor查询服务
3.6 限界上下文集成
3.7 本章小结
第4章 DDD实现技术
4.1 DDD技术实现模型
4.1.1 单体模型
4.1.2 系统集成模型
4.1.3 微服务模型
4.1.4 消息通信模型
4.2 Spring Boot与DDD实现模型
4.2.1 Spring Boot
4.2.2 Spring Data
4.3 Spring Cloud与DDD实现模型
4.3.1 Spring Cloud基础组件
4.3.2 Spring Cloud Stream
4.4 Axon与DDD实现模型
4.4.1 CQRS和事件溯源
4.4.2 Axon框架
4.5 本章小结
第5章 案例实现:限界上下文
5.1 Spring Boot应用程序
5.1.1 传统Spring Boot应用程序
5.1.2 基于DDD的Spring Boot应用程序
5.2 创建第一个限界上下文
5.2.1 代码包结构
5.2.2 领域对象
5.2.3 应用服务
5.2.4 基础设施
5.2.5 接口
5.2.6 集成
5.3 实现HealthMonitor限界上下文
5.3.1 代码工程
5.3.2 限界上下文映射
5.4 本章小结
第6章 案例实现:领域模型对象
6.1 创建聚合
6.2 抽取实体和值对象
6.2.1 抽取实体
6.2.2 抽取值对象
6.3 为聚合添加领域逻辑
6.3.1 实现申请健康监控领域逻辑
6.3.2 实现创建健康计划领域逻辑
6.3.3 实现执行健康任务领域逻辑
6.4 实现HealthMonitor领域模型对象
6.4.1 HealthPlan聚合
6.4.2 HealthTask聚合
6.4.3 HealthRecord聚合
6.4.4 共享领域对象
6.5 本章小结
第7章 案例实现:应用服务
7.1 应用服务实现策略
7.2 实现应用服务
7.2.1 实现命令服务
7.2.2 实现查询服务
7.3 整合应用服务和聚合
7.4 实现HealthMonitor应用服务
7.5 本章小结
第8章 案例实现:资源库
8.1 资源库实现策略
8.2 Spring Data JPA
8.2.1 Spring Data抽象
8.2.2 JPA规范
8.2.3 多样化查询
8.3 实现资源库
8.3.1 创建PO和工厂
8.3.2 创建Mapper
8.3.3 实现Repository
8.4 整合资源库和应用服务
8.5 实现HealthMonitor资源库
8.6 本章小结
第9章 案例实现:领域事件
9.1 领域事件实现策略
9.2 基于Spring Data生成领域事件
9.2.1 @DomainEvents注解和AbstractAggregateRoot
9.2.2 @TransactionalEventListener注解
9.3 基于Spring Cloud Stream发布和订阅领域事件
9.3.1 Spring Cloud Stream整体架构
9.3.2 实现Spring Cloud Stream Source
9.3.3 实现Spring Cloud Stream Sink
9.4 实现HealthMonitor领域事件
9.5 本章小结
第10章 案例实现:限界上下文集成
10.1 限界上下文集成策略
10.1.1 统一协议和防腐层
10.1.2 服务注册和发现
10.2 基于REST API构建统一协议
10.2.1 创建Controller
10.2.2 处理Web请求
10.2.3 集成应用服务
10.3 基于REST API构建防腐层
10.3.1 创建和使用RestTemplate
10.3.2 创建防腐层组件
10.3.3 集成命令服务
10.4 本章小结
第11章 案例实现:事件溯源和CQRS
11.1 事件溯源和CQRS的实现策略
11.1.1 事件溯源模式的设计理念
11.1.2 整合事件溯源和CQRS
11.2 Axon框架
11.2.1 Axon框架的整体架构
11.2.2 Axon服务器
11.3 Axon框架的领域模型组件
11.3.1 Aggregate
11.3.2 CommandHandler
11.3.3 QueryHandler
11.3.4 EventHandler
11.3.5 EventSourceHandler
11.4 Axon框架的分派模型组件
11.4.1 CommandBus
11.4.2 QueryBus
11.4.3 EventBus
11.5 基于Axon框架实现HealthMonitor案例系统
11.5.1 基于Axon框架的重构策略
11.5.2 重构领域模型对象
11.5.3 重构应用服务
11.5.4 重构领域事件
11.6 本章小结
第12章 案例实现:测试
12.1 DDD测试内容和类型
12.1.1 DDD应用程序的测试内容
12.1.2 DDD应用程序的测试类型
12.2 Spring Boot中的测试解决方案
12.2.1 测试工具组件
12.2.2 测试流程
12.2.3 测试注解
12.3 测试HealthMonitor案例系统
12.3.1 测试领域对象
12.3.2 测试应用服务
12.3.3 测试资源库
12.3.4 测试接口
12.4 本章小结
第13章 DDD实践方法
13.1 DDD架构风格
13.1.1 应用经典分层架构管理组件依赖关系
13.1.2 应用整洁架构有效实现应用程序分层
13.1.3 应用六边形架构分离系统关注点
13.1.4 应用事件驱动和管道-过滤器混合架构实现系统解耦
13.2 DDD实施方式
13.2.1 DDD实施的前提和模式
13.2.2 基于DDD构建应用程序的方法
13.3 整合DDD与微服务
13.3.1 微服务拆分模式
13.3.2 微服务数据管理模式
13.3.3 微服务与HealthMonitor案例系统
13.4 本章小结
DDD工程实战:从零构建企业级DDD应用是2022年由机械工业出版社出版,作者郑天民。
得书感谢您对《DDD工程实战:从零构建企业级DDD应用》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。