作品简介

内容简介这是一本从业务和架构视角讲解DDD的基本原则、底层逻辑、落地难点、落地方法和进阶技巧的实战性著作。DDD的理论体系复杂,学习和实践门槛较高,已有的关于DDD的著作或多或少存在理论描述难理解、案例示范难落地等问题,阻碍了DDD在实践中的应用。

本书作者有20余年的软件研发经验,对DDD有深刻的理解,深谙DDD实践过程中的痛点,他在这本书中高屋建瓴、化繁为简,让读者有拨云见雾之感。理论部分(第1—3章)从软件工程的基本思想出发,首先分析了DDD产生的原因,并由此推论出DDD的基本原则,这些内容是学习本书的基础;紧接着分析了DDD落地的难点,帮助读者扫清障碍;然后提炼出了DDD的成熟度模型,包括DDD的战略、战术和衡量指标。这些内容极具针对性和独创性,是研发团队必须掌握的,也是目前同类书中很少讲的。实战部分(第4—10章)从业务建模和架构的角度切入,首先用搭积木的方式讲解和演示了DDD项目由简易到复杂的落地过程,包含大量的业务建模场景和案例,涉及如何应用通用语言、如何建模领域逻辑、如何应用上下文和子域切分系统以及如何保持语言、模型、代码的一致性等重要内容;然后讲解了如何将各种设计模式应用到DDD中,以及如何设计出能让DDD更好落地的系统架构。这些内容兼具实操性和思想性,充满经验和智慧,在同类书中同样也不多见。

作品目录

  • Preface 前言
  • Chapter 1 第1章 DDD的基本原则与价值分析
  • 1.1 DDD的初心
  • 1.2 DDD的基本原则
  • 1.3 DDD的价值分析
  • 1.4 关于DDD原则的案例
  • Chapter 2 第2章 DDD落地难点分析
  • 2.1 DDD的适用范围
  • 2.2 5个常见误区
  • 2.3 文化的变革
  • 2.4 团队的挑战
  • 2.5 测试、过程和架构的最佳搭档
  • Chapter 3 第3章 DDD成熟度模型
  • 3.1 成熟度模型的目的及特殊性
  • 3.2 5个度量维度
  • 3.3 3级成熟度模型
  • Chapter 4 第4章 模型的要素——用例、视图和构造块
  • 4.1 模型的构建步骤
  • 4.2 模型的场景:用例
  • 4.3 模型的数据:类图
  • 4.4 模型的行为:交互图
  • 4.5 模型的变化:操作契约
  • 4.6 模型的构造块:实体、值对象、领域服务
  • Chapter 5 第5章 从语言到模型——基础模型构建
  • 5.1 设计目标
  • 5.2 设计之前的准备工作
  • 5.3 领域模型的构建
  • 5.4 典型的领域逻辑建模
  • 5.5 典型案例
  • Chapter 6 第6章 精炼模型——深入模型设计
  • 6.1 模型引力场:聚合
  • 6.2 模型装配线:工厂
  • 6.3 模型货架:存储库
  • 6.4 富二代的烦恼:基类与继承
  • 6.5 模型质量:优秀的开发组件
  • Chapter 7 第7章 分而治之——上下文、模块和子域
  • 7.1 分离用例、模型和团队:上下文
  • 7.2 重用性和稳定性:模块
  • 7.3 区别特殊性与一般性:子域
  • 7.4 上下文、模块和子域之间的关系
  • Chapter 8 第8章 关键细节——从模型到代码
  • 8.1 DDD中的代码要求
  • 8.2 忠于模型:从模型到代码
  • 8.3 表达通用语言:命名的力量
  • 8.4 健壮性与灵活性:决定成败的细节
  • 8.5 良好的注释:完善代码表达
  • 8.6 完备的单元测试:即时验收领域逻辑
  • Chapter 9 第9章 智慧模型——将设计模式应用于模型设计
  • 9.1 算法装配器:策略模式
  • 9.2 只见树木,不见森林:组合模式
  • 9.3 用户的操作面板:门面模式
  • 9.4 为工作流建模:模板模式
  • 9.5 全局协调人:单例模式
  • 9.6 消息传播者:观察者模式
  • 9.7 陌生人的翻译:适配器模式
  • 9.8 完美的替身:代理者模式
  • 9.9 互补的伙伴:访问者模式
  • 9.10 状态决定表现:状态模式
  • 9.11 分工流水线:职责链模式
  • 9.12 组装搭配车间:桥接模式
  • 9.13 模式场景对应表
  • Chapter 10 第10章 和谐生态——DDD与系统架构
  • 10.1 DDD和架构生态
  • 10.2 天作之合:六边形架构
  • 10.3 完美伴侣:分层架构
  • 10.4 给子域赋能:微服务架构
  • 推荐阅读
展开全部