作品简介

领域驱动设计简称DDD,本书前6章全面解析了DDD的分析方法和技术架构,包括领域驱动设计基础、领域驱动战略设计(有界上下文和统一语言)、聚合设计、实体和值对象、CQRS架构和事件溯源,第7章使用经典的货物运输系统案例进行了完整、详细的综合演示。

本书同时引入了DDD的最新发展成果,如事件风暴建模,并以此建模方式替代传统的DDD建模方式讲解了多个案例。本书还涉及大量软件系统实现相关的技术和架构,读者在学习DDD的同时,也可以掌握这些技术、架构在DDD实现中的灵活应用。

另外,本书每个概念或方法的讲解过程都穿插了具体实例,以方便读者结合实例进行学习;第2~7章每章最后都有总结与拓展,将本章涉及的案例和知识进行总结,并引入国际DDD专家的心得经验,试图告诉读者一条DDD实战中行之有效的途径。

本书主要面向拥有一定实践经验的软件产品经理、领域专家、软件设计开发相关从业人员,相关初级从业者也可阅读本书。

彭晨阳,常用网名板桥(bang),DDD等软件架构专研网站——解道(Jdon)的创办者,长期关注国内外软件架构思想和设计开发的新动向,自DDD提出以来,持续研究与实践DDD。

行业经验——具有近30年的软件系统设计与开发经验,以及丰富的领域实战经验,包括ERP、电子商务、政务、电力、银行、大型游戏等。

培训经历——致力于传播软件设计开发新思想、新技术,曾为近百家企业提供培训咨询服务,包括华为、阿里等企业。

擅长方向——系统架构设计与实现,设计模式与框架,并发编程和微服务、区块链等分布式系统与事务。擅长复杂系统的软件架构和领域建模。

作品目录

  • 前言
  • 第1章 领域驱动设计基础
  • 1.1 领域驱动设计的起源与发展
  • 1.2 领域驱动设计的特点
  • 1.3 领域驱动设计的难点
  • 1.4 领域驱动设计的应用场景
  • 第2章 领域驱动战略设计
  • 2.1 有界上下文
  • 2.2 按时间线发现有界上下文
  • 2.3 通过领域故事或流程发现有界上下文
  • 2.4 通过事件风暴会议发现有界上下文
  • 2.5 业务平台与中台设计
  • 2.6 总结与拓展
  • 第3章 聚合设计
  • 3.1 聚合设计的概念
  • 3.2 设计聚合的几种方法
  • 3.3 实例解析:订单系统中的聚合设计
  • 3.4 总结与拓展
  • 第4章 实体和值对象
  • 4.1 失血/贫血模型
  • 4.2 实体
  • 4.3 值对象
  • 4.4 领域服务
  • 4.5 仓储
  • 4.6 充血模型的设计原则
  • 4.7 实例解析:论坛系统实体和值对象设计
  • 4.8 总结与拓展
  • 第5章 CQRS架构
  • 5.1 DDD架构介绍
  • 5.2 CQRS架构的特点
  • 5.3 命令和查询分离
  • 5.4 不同的数据访问方式
  • 5.5 CAP定理
  • 5.6 领域事件实现数据同步
  • 5.7 实例解析:使用Axon框架实现CQRS
  • 5.8 总结与拓展
  • 第6章 事件溯源
  • 6.1 什么是事件溯源?
  • 6.2 基于事件溯源的聚合根设计
  • 6.3 事件溯源的优点
  • 6.4 微服务中的分布式事务实现
  • 6.5 使用Apache Kafka实现事件溯源
  • 6.6 投射模式
  • 6.7 更改数据捕获(CDC)
  • 6.8 总结与拓展
  • 第7章 货物运输系统
  • 7.1 领域描述
  • 7.2 从流程中发现领域事件
  • 7.3 概念挖掘
  • 7.4 预订受理的聚合设计
  • 7.5 运输作业的聚合设计
  • 7.6 总结与拓展
展开全部