标准代码模型好处
1.项目团队成员更好地理解代码,根据代码规范实现团队协作
2.可以让微服务各层互不干扰,分工协作,避免不必要的代码混淆
3.可以轻松应对微服务架构的演进和代码重构
微服务目录
- Interface用户接口层
与前端交互,用来接收用户数据和展现数据相关代码。
下级目录为
1.assembler:实现DTO和领域对象之间的相互转换和数据交换
2.dto:数据传输的载体
3.facade:提供较粗粒度的调用接口,把请求委派给一个或多个服务进行处理。
- Application应用层
被Interface层调用,组合编排不同的微服务和内部的聚合。
下级目录为
1、event:包括两个目录,publish和subscribe,事件的发布和订阅
2、service:应用层会对多个领域服务或其它外部服务进行封装,编排和组合
- Domain领域层
主要存放领域层核心业务逻辑代码,包括领域对象,领域服务,和事件。
下级目录为
1、aggregate聚合:根据实际项目的聚合名称命名,定义聚合根、实体、值对象、领域服务的关系和边界
2、entity:聚合根、实体、值对象、实体工厂模式,实体类采用充血模型
3、event:事件相关
4、service:一个领域服务由多个实体组合出来的业务逻辑
5、repository:存放聚合的查询或持久领域对象的代码
- Infrastructure基础层
基础资源相关的代码
下级目录 为
1、config:配置相关代码
2、util:开发框架,消息,数据库,缓存,文件,工具包,通用算法
图示: