DDD的分层架构

2023-11-02

DDD作为一种指导思想,还是有一些相对来说可以落地的东西,比如说他这个分层架构,整体分为以下四层:

在这里插入图片描述
实际上基于上图,我们可以把我们项目工程文件再具体一点,填写到上面的图片上
在这里插入图片描述

用户接口层(user interface):用户接口层负责向用户显示信息和解释用户指令。这里的用户可能是:用户、程序、自动化测试和批处理脚本等等(其实我认为就是我们向外提供服务的那一层。)

应用层(Application):看资料一把来说这里不会有业务逻辑,一般是微服务的通道和多个领域或者服务的聚合。

根据 DDD 的原则,应用层要尽量简单,不包含任何业务规则或者知识,而只为下一层中的领域对象协调任务,分配工作,使它们互相协作,这一点在代码上表现为 Application 层中一般不会存在任何的条件判断语句。在许多项目中,Application 层都会被选为包裹事务(代码进入此层事务开始,退出此层事务提交或者回滚)的载体。

领域层Domain:领域层是业务逻辑核心,领域层主要体现领域模型的业务能力,它用来表达业务概念、业务状态和业务规则。
领域层包含聚合根、实体、值对象、领域服务等领域模型中的领域对象。

负责实现业务逻辑,即表达业务概念,处理业务状态信息以及业务规则这些行为,此层是整个项目的重点。

基础层infrastructure:就是我们一些基本设施,跟业务无关,数据库,中间件,网关,文件系统这些第三方工具。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DDD的分层架构 的相关文章

  • C语言函数大全-- p 开头的函数

    p 开头的函数 1 perror 1 1 函数说明 1 2 演示示例 1 3 运行结果 2 pieslice 2 1 函数说明 2 2 演示示例 2 3 运行结果 3 pow powf powl 3 1 函数说明 3 2 演示示例 3 3
  • 数据结构-冒泡排序,选择排序,插入排序,快速排序,希尔排序,堆排序

    冒泡排序 冒泡排序的思想 从头开始数据两两比较 将大的放到后面小的放到前面 经过一轮比较后就找到了该序列的最大数且将它放到了最后 再循环上述步骤找出第二大的数 第三大的数 int maoapo int a int len a为数组的首地址
  • 期货开户顺大市而逆小市

    期货的行情 有人愿意以更高的价来买入 就会涨 有人买意以更低的价格卖出 就会跌 现货市场上 一个馒头5角钱的时候 在期货市场上 如果有很多人争着买 这个馒头可能会涨到5块 或者50块 也是可能的 在这个馒头5块钱一个的时候 你感觉这个馒头太

随机推荐

  • ShiroFilter设计原理与实现

    Shiro提供了与Web集成的支持 其通过一个ShiroFilter入口来拦截需要安全控制的URL 然后进行相应的控制 ShiroFilter类似于如Strut2 SpringMVC这种web框架的前端控制器 其是安全控制的入口点 其负责读
  • Postgre 还原导入sql文件

    postgresql 如何导入sql文件 打开sql shell 执行如下操作 密码不显示 直接输入完成后按回车键 i C Users fulong Desktop trest3 sql 注意路径不要使用 不支持这种写法
  • Linux Kernel SMP (Symmetric Multi-Processors) 開機流程解析 Part(3) Linux 多核心啟動流程從rest_init到kernel_init與CPU

    http loda hala01 com 2011 08 android E7 AD 86 E8 A8 98 linux kernel smp symmetric multi processors E9 96 8B E6 A9 9F E6
  • Java-IO流篇-DataOutputStream

    DataOutputStream DataOutputStreams是OutputStream的子类 是数据输出流 此类继承自FillterOutputStream类 同时实现DataOutput接口 在DataOutput接口定义了一系列
  • 更新k8s证书(续签)

    下载 kubeadm x86 md5 7951a9348655b4f508b84ced66fcf371kubeadm arm md5 b11c4ce93722b07f96c2acdeaaa07e74 cd etc kubernetes cp
  • iframe的基本介绍与使用

    一 介绍 iframe 内嵌框架 是 HTML 中一种用于将一个网页嵌入到另一个网页中的标签 它可以在一个页面中显示来自其他页面的内容 在网页中 使用标签可以将一个网页嵌套在另一个网页中 实现网页间的互联互通 二 使用 标签的基本用法如下
  • MapReduce过程中setPartitionerClass、setSortComparatorClass和setGroupingComparatorClass三者关系

    Map首先将输出写到环形缓存当中 开始spill过程 job setPartitionerClass PartitionClass class 按key分区 map阶段最后调用 对key取hash值 或其它处理 指定进入哪一个reduce
  • 【测试开发】Junit 框架

    目录 一 认识 Junit 二 Junit 的常用注解 1 Test 2 Disabled 3 BeforeAll 4 AfterAll 5 BeforeEach 6 AfterEach 7 执行测试 三 参数化 1 引入依赖 2 单参数
  • 分析key原理

    总结 key是虚拟dom对象的标识 当数据发生变化时 vue会根据新数据生成新的虚拟dom 随后vue进行新虚拟dom与旧虚拟dom的差异比较 比较规则 旧虚拟dom中找到了与新虚拟dom相同的key 若虚拟dom中的内容没变 直接使用之前
  • 将一列具有相同数据的行合并到同一行

    如何将第一列具有相同数据的行合并到同一行 但要保护重复内容 将重复内容依次填充到重复行中第一行后面 首列相同的 将后面对应列各单元格内容合并到重复行中第一行后对应的单元格内 并且用 连接 对应列只有一个单元格有内容 则不添加 符号 若为空
  • 【sql】mysql索引问题笔记

    q 使用了索引就会有优化 a 然而并不是这样 一下情况都是没有作用的 1 索引字段并没有在查询条件中使用 2 条件查询的过滤结果占比过多 既索引字段为可重复的字段 常固发生此情况 3 对小表查询 此处指索引建立在小表上 联查到数据多的表的时
  • Android(java方法)上实现mp4的分割和拼接 (二)

    http blog csdn net banking17173 article details 20646251 这节谈一下如何在Android上实现mp4文件的高效率切割 业务需求举例 把一段2分钟的mp4文件切割出00 42 至 01
  • Hudi学习3:数据湖主流架构

    delta Lake Iceberg iceberg表可以扩展 Hudi 支持flink 并且支持快速upsert delete
  • VIM使用技巧专区汇总

    查找 set hlsearch 设置搜索高亮 something 在后面的文本中查找something something 在前面的文本中查找something pattern number 将光标停在包含pattern的行后面第numbe
  • 力扣:多数元素

    给定一个大小为 n 的数组 找到其中的多数元素 多数元素是指在数组中出现次数 大于 n 2 的元素 你可以假设数组是非空的 并且给定的数组总是存在多数元素 class Solution public int majorityElement
  • 频数表&频率表

    一 基本概念 1 频数表是将数据集按照某个特定列分类 分组 时观察每个类 组中数据出现次数的表 2 列联表是观测数据按两个或更多属性 定性变量分类时所列出的频数分布表 是由两个以上的变量进行交叉分类的频数分布表 3 频数也称 次数 对样本数
  • 关于this.$refs是undefined

    问题 最近在做开发的时候 遇到这样一个问题 从后端请求到一个图片列表 需要根据返回图片的情况设置元素的宽度 这就需要这样计算list的宽度imgList length imgElement clientWidth 为了在各种移动端自适应 不
  • opencv 解决ippicv下载问题,离线:ippicv_2019_lnx_intel64_general_20180723.tgz

    ippicv 2019 lnx intel64 general 20180723 tgz 这个下载超级慢 有设么用呢 硬件加速 人脸识别 说法不统一啊 以后再完善 下载超时怎么办呢 那我们就采取手动下载的模式然后离线安装 1 下载 ippi
  • UE4像素流

    UE4像素流 局域网 公网 文章目录 UE4像素流 局域网 公网 TOC 文章目录 前言 一 启用像素流 二 项目设置配置像素流参数以及打包 1 配置 打包 配置启动参数 启动像素流服务 信令服务器 http服务 80端口 8888端口 端
  • DDD的分层架构

    DDD作为一种指导思想 还是有一些相对来说可以落地的东西 比如说他这个分层架构 整体分为以下四层 实际上基于上图 我们可以把我们项目工程文件再具体一点 填写到上面的图片上 用户接口层 user interface 用户接口层负责向用户显示信