DDD领域驱动设计初探
回顾经典MVC
从上到下:
api层
biz层(业务层)
service层(服务层)
dao层
系统架构的腐化
- 业务层处理逻辑而导致服务层变薄
- 业务层到DAO层的跨层调用/层级之间的互相调用(跨层调用可以接受)
- 业务层的事情由服务层做,导致业务上浮(与1相反)
领域模型DDD
从上到下
api层
- 定义API
- 入参透传
biz层
- 业务服务编排
domain层
- 领域调用
dao层
- 数据源操作
- application/db/cache
DDD特点
- 允许跨层调用,不允许同级调用
- 业务细节放在领域层
- 事务管理
- 业务层:大事务
- 领域层:数据管理
领域如何划分
领域具体实现方式:倒置依赖