第1章 DDD对我而言 1
DDD很难掌握吗 2
优秀设计、糟糕设计和有效设计 3
战略设计 8
战术设计 9
学习过程与知识提炼 10
让我们开始吧! 11
第2章 运用限界上下文与通用语言进行战略设计 13
领域专家和业务驱动 20
案例分析 24
战略设计是必要的根基 28
在质疑中统一 32
发展通用语言 38
应用场景 42
如何持续 45
架构 46
本章小结 50
第3章 运用子域进行战略设计 51
什么是子域 52
子域类型 53
应对复杂性 54
本章小结 56
第4章 运用上下文映射进行战略设计 57
映射的种类 60
合作关系 60
共享内核 61
客户—供应商 62
跟随者 63
防腐层 64
开放主机服务 65
已发布语言 65
各行其道 66
大泥球 67
善用上下文映射 69
基于SOAP的RPC 70
RESTful HTTP 72
消息机制 74
上下文映射示例 79
本章小结 83
第5章 运用聚合进行战术设计 85
为什么使用它 86
聚合的经验法则 91
规则一:在聚合边界内保护业务规则不变性 92
规则二:聚合要设计得小巧 93
规则三:只能通过标识符引用其他聚合 95
规则四:利用最终一致性更新其他聚合 96
建立聚合模型 99
慎重选择抽象级别 104
大小适中的聚合 106
可测试的单元 108
本章小结 108
第6章 运用领域事件进行战术设计 111
设计、实现并运用领域事件 113
事件溯源 119
本章小结 121
第7章 加速和管理工具 123
事件风暴 124
其他工具 134
在敏捷项目中管理DDD 135
运用SWOT分析法 137
建模Spike和建模债务 139
任务识别与工作量估算 140
限制建模时间 143
如何实施 144
和领域专家打交道 145
本章小结 147
参考文献 148