Domain Driven Design
核心方法论:领域通过领域模型驱动软件设计
具体方法
- 面向对象分析设计:用例分析,对象职责分解,通用建模
- 四色建模:特定于商业场景建模方式
- CQRS:只对命令类问题领域模型建模,降低建模难度
- 事件风暴:从事件出发建模
- 四层架构:独立的领域层
- 六边形架构:领域模块成为架构核心,不依赖实现
- 事件溯源:只持久化事件,不持久化聚合,解决对象模型和数据库不匹配
1.重构代码
- 1.1 添加领域模块
老代码依赖领域模块,领域模块只实现领域模型代码 - 1.2 分离出有价值代码
老代码内部分离出最有价值的模块,定义这个模块和老代码之间接口,接口非常重要 - 1.3 迁移到领域模型
在领域模块中按照DDD方式实现领域模型,原本老代码中待分离模块变成适配器模块,调用领域模型实现接口