关于DDD的落地可以参照:COLA开源框架:https://github.com/alibaba/COLA
- 阶段一调整:业务复杂性聚合、收敛
上述可以通过:组合方法模式,替代流程编排,但是结构化分解并不能解决全部问题
- 领域知识被割裂肢解
- 代码表达业务语义能力弱
- 阶段二调整:模型统一
- 共享模型:解决读写分离、跨业务场景共用一个业务模型的处理
- 为了解决模型的稳定性,而数据的不稳定性,需要有一层依赖倒置处理:convert
- 因为数据来源有可能是RPC、有可能是数据库
- 应该是防腐层依赖DTO,而不是DTO依赖防腐层,依赖倒置
- 下面红框的gateway解决:RPC、DB等多场景获取数据的,是一种依赖倒置
- domain service是可选的
- client二方库即为SDK,堆外暴露的RPC接口
- 包结构划分
- DDD应用架构