DDD(领域驱动设计)示例目录结构
- 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 // 配置文件
DDD(领域驱动设计)示例目录结构相关推荐
- html 定义列表dddt,一个微服务+DDD(领域驱动设计)的代码结构示例
前有幸拜读过诸多大神关于DDD的实现落地等文章,学习较多,受益匪浅,在此推荐 : 下面参考了DDD官方的结构,总结了前辈们的相关经验,再根据自身对微服务和DDD学习和理解,做了一个用SpringClo ...
- DDD(领域驱动设计)+SpringCloud的代码示例
一个微服务+DDD(领域驱动设计)的代码结构示例 </h1><div class="clear"></div><div class=&qu ...
- C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用
前言:前篇搭建了下WCF的代码,就提到了DTO的概念,对于为什么要有这么一个DTO的对象,上章可能对于这点不太详尽,在此不厌其烦再来提提它的作用: 从安全上面考虑,领域Model都带有领域业务,让Cl ...
- DDD领域驱动设计-视频讲解+实战
目录 简介 解决的问题 过度耦合 现状 DDD的分层架构和构成要素 小结 分包应用 DDD领域驱动设计:实体.值对象.聚合根 DDD应用 战略建模 领域 限界上下文 需求分析 上下文映射图 战术建模- ...
- DDD 领域驱动设计落地实践系列:工程结构分层设计
引言 前面几篇文章中,笔者给大家阐述了 DDD 领域驱动设计的三大过程,重点围绕如何通过战略设计与战术设计进行 DDD 落地实践进行了详细的讨论,但是还没有涉及到工程层面的落地.实际上所有的这些架构理 ...
- DDD领域驱动设计深度解析
目录 DDD领域驱动设计深度解析 DDD凝聚了软件工程的智慧 DDD领域驱动设计的历史 什么是领域 Domain 领域驱动设计 领域驱动设计几大原则详解 领域驱动模型的概念 领域驱动设计的挑战 DDD ...
- [转]浅析DDD(领域驱动设计)
最近在做一些微服务相关的设计,内容包括服务的划分,Restful API的设计等.其中比较棘手的就是Service的职责划分:如何抽象具有统一业务范畴的Model,使其模块化,又如何高度提炼并组合多模 ...
- 浅析DDD(领域驱动设计)
最近在做一些微服务相关的设计,内容包括服务的划分,Restful API的设计等.其中比较棘手的就是Service的职责划分:如何抽象具有统一业务范畴的Model,使其模块化,又如何高度提炼并组合多模 ...
- DDD 领域驱动设计落地实践:六步拆解 DDD
引言 相信通过前面几篇文章的介绍,大家对于 DDD 的相关理论以及实践的套路有了一定的理解,但是理解 DDD 理论和实践手段是一回事,能不能把这些理论知识实际应用到我们实际工作中又是另外一回事,因此本 ...
最新文章
- Python技术学习之Django框架设计思想
- React和Vue的Chrome扩展工具安装
- python列表、字典、元组的用法及区别_python列表,字典,元组简单用法示例
- 童年的飞秋大门已徐徐向我关闭
- node.js学习笔记5——核心模块1
- 常见电子元器件检测经验
- riso1855使用说明_理想CV1855驱动下载 理想CV1855打印机驱动 v20170627 32bit+64bit 免费安装版 下载-脚本之家...
- 软件工程考研内容有c语言吗,2020中科大软件工程考研初试科目是什么?
- 高中数学平面解析几何解题技巧-直线与圆锥曲线的位置关系-习题
- 计算机导论第七章数据库基础,计算机导论教学大纲
- AVD Manager创建模拟器
- vue的五个小实例解析其基础功能
- 总结几点 Wake On Lan (WOL) 失败的原因
- Python实现西瓜视频下载 保证可用2019-08-28最新版
- ##如何通过写博客赚钱
- java中上转型概念_Java中上转型和重写有什么区别?
- 网站出现问题,如何诊断?
- 计算机打开虚拟机,电脑就蓝屏
- java实现计算器的退格功能_帮忙看下这个java做的计算器为什么实现不了退格和清零功能,3q...
- 师从施一公,从造纸工人到清华教授,CNS12篇,柴继杰再发Science
热门文章
- cdn厂商 同兴万点_CDN进入牌照时代 工信部规范和清理CDN市场
- pythonifelse表达式_Python if else简洁写法,列表推导式,三目运算符写法
- Docker:unauthorized: incorrect username or password.
- MessageDigest简介
- Linux用户不在sudoers文件中
- 说说自己写PHP框架的一些感受
- 超级终端设置-基本配置(华为)
- 机器与人交流的五大法则
- zt:tcpdump抓包对性能的影响
- away3d 4.0.9Gold 学习笔记 加载模型(6)