DDD微服务目录结构
2023-03-04 19:16:39 2 举报
DDD微服务目录结构
作者其他创作
大纲/内容
publish
DTO:数据传输的载体,内部不存在任何业务逻辑
aggregate...
Assembler:实现DTO与领域对象之间的相互转换和数据交换
facade
service
主要存放配置相关代码
util
repository
用户接口层:主要存放用户接口层与前端交互、展现数据相关的代码
微服务目录结构
assembler
事件:主要存放事件相关的代码
仓储:存放聚合的查询或持久化领域对象的代码,包括仓储接口和仓储实现方法。原则:一个聚合对应一个仓储
dto
实体:存放聚合根、实体、值对象以及工厂模式(Factory)相关代码
应用层:主要存放应用层服务组合和编排相应的代码
领域服务:一个领域服务是多个实体组合出来的一段业务逻辑
领域层:存放领域层核心业务逻辑相关的代码
aggregate
entity
event
事件发布
domain
聚合:聚合软件包的根目录,内部实现高内聚的业务逻辑
application
subscribe
主要存放平台、开发框架、消息、数据库、缓存、文件、总线、网关、第三方类库、通用算法等基础代码
config
基础层:主要存放基础资源服务相关的代码
事件:存放事件实体以及与事件活动相关的业务逻辑代码
事件订阅
应用服务:对多个领域服务或外部应用服务进行封装、编排、组合
interfaces
提供较粗粒度的调用接口,将用户请求委派给一个或多个应用服务进行处理
特别说明:按照 DDD 分层架构,仓储实现本应该属于基础层代码,但为了在微服务架构演进时,保证代码拆分和重组的便利性,我是把聚合仓储实现的代码放到了聚合包内。这样,如果需求或者设计发生变化导致聚合需要拆分或重组时,我们就可以将包括核心业务逻辑和仓储代码的聚合包整体迁移,轻松实现微服务架构演进。
infrastructure
0 条评论
下一页