目录
一、引言
最近在和身边同事讨论DDD落地时,大家在讨论应用层服务的拆分时出现了分歧,主要的分歧点如下:
- 应用层的服务是否需要拆分成
Query服务和Command服务 两种服务类型 Query服务的实现是依赖领域层的Repository还是基础设施层的dao
接下来依次说说我的观点。
二、应用服务的定位
关于DDD的分层及各组件的定位可参见下图:
注: 图片来自本作者开源的DDD代码库:https://gitee.com/luoex/d3s

领域层提供最核心的业务抽象,而 应用层需要依赖领域层完成业务流程的编排,应用服务类(流程编排类)定义业务流程的交互入口(方法、参数、结果),也可在应用服务类中管理数据库事务、记录缓存、记录日志等,具体实现则调用领域层的聚合根、聚合仓库、ACL接口、事件发送接口等来完成业务流程的编排,核心的业务逻辑
订阅专栏 解锁全文
8万+

被折叠的 条评论
为什么被折叠?



