编辑推荐 1.领域驱动设计是一种能够有效应对软件复杂度的领域逻辑设计方法,本书适合希望提高软件架构能力的软件架构师和提高领域建模能力开发人员等学习参考。 2.本书试图解构领域驱动设计,进一步精化与提炼领域驱动设计方法体系,提出了“领域驱动设计统一过程”。 3.本书通过真实而完整的案例全面展现了如何进行领域驱动设计统一过程的实施和落地。 4.本书引入了业务服务、菱形对称架构、领域驱动架构、服务驱动设计等方法与模式,总结了领域驱动设计参考过程模型与能力评估模型。 5.本书提出的一整套方法体系已在多个项目中推广和落地。 内容推荐 本书全面阐释了领域驱动设计(domain-driven design,DDD)的知识体系,内容覆盖领域驱动设计的主要模式与主流方法,并在此基础上提出“领域驱动设计统一过程”(domain-driven design unified process,DDDUP),将整个软件构建过程划分为全局分析、架构映射和领域建模3个阶段。除给出诸多案例来阐释领域驱动设计统一过程中的方法与模式之外,本书还通过一个真实而完整的案例全面展现了如何进行领域驱动设计统一过程的实施和落地。为了更好地运用领域驱动设计统一过程,本书还开创性地引入了业务服务、菱形对称架构、领域驱动架构、服务驱动设计等方法与模式,总结了领域驱动设计能力评估模型与参考过程模型。本书提出的一整套方法体系已在多个项目中推广和落地。 本书适合希望领会软件架构本质、提高软件架构能力的软件架构师,希望提高领域建模能力、打磨软件设计能力的开发人员,希望掌握业务分析与建模方法的业务分析人员,希望学习领域驱动设计并将其运用到项目中的软件行业从业人员阅读参考。 目录 第一篇开篇 第1章软件复杂度剖析2 1.1什么是复杂系统2 1.2理解能力4 1.3预测能力9 第2章领域驱动设计概览13 2.1领域驱动设计的基本概念14 2.2领域驱动设计过程19 2.3控制软件复杂度21 2.4冷静认识28 第3章领域驱动设计统一过程29 3.1领域驱动设计现存的不足30 3.2领域驱动设计统一过程31 第二篇全局分析 第4章问题空间探索40 4.1全局分析的5W模型40 4.2高效沟通42 4.3高效协作49 第5章价值需求分析57 5.1识别利益相关者57 5.2明确系统愿景61 5.3确定系统范围62 5.4使用商业模式画布64 第6章业务需求分析66 6.1业务流程66 6.2业务场景71 6.3子领域77 第三篇架构映射 第7章同构系统82 7.1概念层次的同构系统83 7.2设计层次的同构系统87 7.3管理层次的同构系统89 第8章系统上下文93 8.1“系统内”和“系统外”93 8.2系统上下文94 8.3系统上下文的确定95 第9章限界上下文98 9.1限界上下文的定义98 9.2限界上下文的特征101 9.3限界上下文的识别111 第10章上下文映射124 10.1上下文映射概述124 10.2通信集成模式126 10.3团队协作模式132 10.4上下文映射的设计误区138 10.5上下文映射的确定140 第11章服务契约设计145 11.1消息契约145 11.2服务契约149 11.3设计服务契约160 第12章领域驱动架构165 12.1菱形对称架构165 12.2系统分层架构197 12.3领域驱动架构风格202 第四篇领域建模 第13章模型驱动设计206 13.1软件系统中的模型206 13.2模型驱动设计207 13.3领域模型驱动设计210 第14章领域分析建模215 14.1统一语言与领域分析模型215 14.2快速建模法215 14.3领域分析模型的精炼222 14.4领域分析模型与限界上下文223 第15章领域模型设计要素226 15.1领域设计模型226 15.2实体229 15.3值对象239 15.4聚合247 15.5聚合生命周期的管理265 15.6领域服务280 15.7领域事件287 第16章领域设计建模295 16.1角色构造型295 16.2设计聚合301 16.3服务驱动设计312 第17章领域实现建模324 17.1稳定的领域模型324 17.2测试优先的领域实现建模329 17.3领域建模过程334 第五篇融合 第18章领域驱动设计的战略考量362 18.1限界上下文与微服务362 18.2限界上下文之间的分布式通信368 18.3命令查询职责的分离377 18.4事务383 第19章领域驱动设计的战术考量396 19.1设计概念的统一语言396 19.2领域模型的持久化402 19.3资源库的实现417 第20章领域驱动设计体系423 20.1领域驱动设计的精髓423 20.2领域驱动设计能力评估模型426 20.3领域驱动设计参考过程模型429 20.4总结495 附录 附录A领域建模范式498 A.1结构建模范式498 A.2对象建模范式507 A.2.1职责507 A.2.2抽象514 A.3函数建模范式522 附录B事件驱动模型533 B.1事件风暴534 B.2事件溯源模式547 B.3事件驱动架构555 附录C领域驱动设计魔方561 C.1发展过程的里程碑561 C.2领域驱动设计魔方562 C.3全局分析的魔方切面563 C.4架构映射的魔方切面565 C.5领域建模566 附录D领域驱动设计统一过程交付物569 D.1价值需求569 D.2业务需求569 D.3系统上下文571 D.4业务架构571 D.5应用架构571 D.6子领域架构572 参考文献573 |