DDD(领域驱动设计)示例目录结构

 2023-09-15 阅读 15 评论 0

摘要:- src- it // 集成测试模块- integration // 集成测试代码- resources // 集成测试配置文件 - ut // 单元测试模块- unit // 单元测试代码- main //业务代码- pkg- interfaces // 用户接口层- facade // 提供较粗粒度的调用接口,将用户请求委托给一个或多个应用服务进

- src- it   // 集成测试模块- integration   // 集成测试代码- resources     // 集成测试配置文件 - ut   // 单元测试模块- unit          // 单元测试代码- main //业务代码- pkg- interfaces    // 用户接口层- facade    //  提供较粗粒度的调用接口,将用户请求委托给一个或多个应用服务进行处理- rest  // REST API- grpc  // gRPC API-  mq       //  事件订阅  注1:统一返回Result  注2:应该捕捉所有异常   - application   // 应用层- dto       // 存放 dto 数据传输对象- request - response- assembler    // 实现 DTO 与领域对象之间的相互转换和数据交换      - event         //  存放事件相关代码,为了事件统一管理,将所有事件发布和订阅统一放到应用层,核心业务逻辑放到领域层- publish   // 事件发布- service       //对领域服务或外部应用服务进行封装、编排和组合,对外提供粗粒度服务- command   // 操作相关,必须调用领域层  - query     // 只放查询相关,可以直接调用持久层  // 注1:出参必须为 DTO // 注2:入参为 Command 或 Query,唯一例外是单ID查询的场景// 注3:Command 和 Query 有语义作用,避免复用   // 注4:实现入参校验,减少非业务代码混杂业务代码中- domain          // 领域层- aggregate   // 聚合目录,按业务名称命名,如权限聚合- entity  //领域对象- factory   // 从其他服务返回结果构建领域对象???- valueobject- event         // 存放事件实体和相关的业务逻辑代码- service       // 存放领域服务代码 - repository    // 仓储,存放所有查询和持久化领域对象的代码,通常包括仓储接口和实现,仓储实现一般放在基础层,也可以直接放一起                  - infrastructure // 基础层   - config     // 存放配置相关代码- client     // 存放跨服务接口- common     // 存放消息、数据库、缓存、文件、总线、网关、公用的常量、枚举等- enums      // 存放枚举- cache      // 缓存相关服务- mq         // mq相关配置 - db         // 数据库相关 - mapper  // 存放 mybatis dao 实现                     - repositories  // 仓储实现- po            // 持久化对象- converter     // 用于封装底层,实现PO与DO一对多或多对多转换 - perisistence  // 存放 RepositoryImpl,调用 mapper - ......         - util      // 存放平台、开发框架、第三方类库、通用算法等基础代码- resources // 配置文件        

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/60931.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息