按照DDD的要求,实现与模型需一致,因此代码结构整体和领域模型是一致的,将代码结构分为以下几个部分:
1)领域层
主要作用是封装领域数据和逻辑,领域层封装的逻辑应该是细粒度的,并不适合直接作为 API 暴露给外部
2)应用层
应用层本身并不包含领域逻辑,接受来自客户端的请求,调用和协调领域层的逻辑来解决问题,将领域层的处理结果封装为更简单的粗粒度对象,作为对外API的参数。
此外,负责处理事务、日志、权限等等横切关注点
3)适配器层
专门处理输入输出技术,由外向内的适配器叫做 driven adapter,用于接受客户端请求并进行转化,调用应用服务,对于返回接口进行反向的处理。
由内向外的适配器叫做 driving adapter,作用不限于访问数据库,而是访问所有外部资源
4)common层
用于存放工具和框架类的公共代码
此文章为2月Day8学习笔记,内容来源于极客时间《手把手教你落地 DDD》