02 | 领域、子域、核心域、通用域和支撑域

article/2025/9/18 4:35:01

在这里插入图片描述

如何理解领域和子域?我们先看一下汉语词典中对领域的解释:“领域是从事一种专门活动或事业的范围、部类或部门。”百度百科对领域的解释:“领域具体指一种特定的范围或区域。”两个解释有一个共同点——范围。对了!领域就是用来确定范围的,范围即边界,这也是 DDD 在设计中不断强调边界的原因。在研究和解决业务问题时,DDD 会按照一定的规则将业务领域进行细分,当领域细分到一定的程度后,DDD 会将问题范围限定在特定的边界内,在这个边界内建立领域模型,进而用代码实现该领域模型,解决相应的业务问题。简言之,DDD 的领域就是这个边界内要解决的业务问题域。既然领域是用来限定业务边界和范围的,那么就会有大小之分,领域越大,业务范围就越大,反之则相反。领域可以进一步划分为子领域。我们把划分出来的多个子领域称为子域,每个子域对应一个更小的问题域或更小的业务范围。我们知道,DDD 是一种处理高度复杂领域的设计思想,它试图分离技术实现的复杂度。那么面对错综复杂的业务领域,DDD 是如何使业务从复杂变得简单,更容易让人理解,技术实现更容易呢?其实很好理解,DDD 的研究方法与自然科学的研究方法类似。当人们在自然科学研究中遇到复杂问题时,通常的做法就是将问题一步一步地细分,再针对细分出来的问题域,逐个深入研究,探索和建立所有子域的知识体系。当所有问题子域完成研究时,我们就建立了全部领域的完整知识体系了。

在这里插入图片描述
我们来看一下上面这张图。这个例子是在讲如何给桃树建立一个完整的生物学知识体系。初中生物课其实早就告诉我们研究方法了。它的研究过程是这样的。第一步:确定研究对象,即研究领域,这里是一棵桃树。第二步:对研究对象进行细分,将桃树细分为器官,器官又分为营养器官和生殖器官两种。其中营养器官包括根、茎和叶,生殖器官包括花、果实和种子。桃树的知识体系是我们已经确定要研究的问题域,对应 DDD 的领域。根、茎、叶、花、果实和种子等器官则是细分后的问题子域。这个过程就是 DDD 将领域细分为多个子域的过程。第三步:对器官进行细分,将器官细分为组织。比如,叶子器官可细分为保护组织、营养组织和输导组织等。这个过程就是 DDD 将子域进一步细分为多个子域的过程。第四步:对组织进行细分,将组织细分为细胞,细胞成为我们研究的最小单元。细胞之间的细胞壁确定了单元的边界,也确定了研究的最小边界。这里先剧透一点聚合、聚合根、实体以及值对象的内容,我还会在 [第 04 讲] 和 [第 05 讲] 中详细讲解。我们知道细胞核、线粒体、细胞膜等物质共同构成细胞,这些物质一起协作让细胞具有这类细胞特定的生物功能。在这里你可以把细胞理解为 DDD 的聚合,细胞内的这些物质就可以理解为聚合里面的聚合根、实体以及值对象等,在聚合内这些实体一起协作完成特定的业务功能。这个过程类似 DDD 设计时,确定微服务内功能要素和边界的过程。这里总结一下,就是说每一个细分的领域都会有一个知识体系,也就是 DDD 的领域模型。在所有子域的研究完成后,我们就建立了全域的知识体系了,也就建立了全域的领域模型。上面我们用自然科学研究的方法,说明了领域可以通过细分为子域的方法,来降低研究的复杂度。现在我们把这个话题再切换到业务领域,对比验证下,二者的细分过程是否是一致的。这里以我从事的保险行业为例。保险是个比较大的领域,很早以前的保险核心系统把所有的功能都放在一个系统里来实现,这个系统就是我们常说的单体系统。后来单体系统开始无法适应保险业务的发展,因此保险公司开始了中台转型,引入分布式微服务架构来替换原来的单体系统。而分布式微服务架构就需要划分业务领域边界,建立领域模型,并实现微服务落地了。为实现保险领域建模和微服务建设,我们可以根据业务关联度以及流程边界将保险领域细分为:承保、收付、再保以及理赔等子域,而承保子域还可以继续细分为投保、


http://chatgpt.dhexx.cn/article/T0Ex5Vbw.shtml

相关文章

域环境的搭建

文章目录 一、准备工作(一)下载虚拟机和windows镜像(二)创建两台虚拟主机 二、基本设置(一)修改密码策略(二)显示桌面图标(三)修改引导界面的超时时间&#x…

域环境搭建

搭建域环境 1.设置域控制服务器 (1)在虚拟机中安装Windwos Server 2012 R2操作系统,设置其IP地址为192.168.3.71,子网掩码为255.255.252.0,DNS指向本机IP地址。 (2)安装域控制器和DNS服务器 &#xff08…

windows域控上批量修改域账号密码

目录 一、查询密码过期域账号信息 (一)根据OU组织架构查询密码过期账号 (二)查询域控所有密码过期账号 (三)导出dsquery查询的信息 二、批量修改过期域账号密码 (一)根据dsque…

M域、B域、O域分别指什么?

总的来说,B域,M域,O域是指电信行业大数据领域的三大数据域。 一、B域 B域,即business support system的数据域,又称业务域,简称BSS。B域有用户数据和业务数据,比如用户的消费习惯、终端信息、…

从零开始搭建公司域环境(二):服务器安装域控并实现客户端加域登陆

注:以下实验均在Oracle VM VirtualBox的虚拟机中完成,实际搭建时需要考虑的问题肯定更多更复杂,写此系列文章仅作为记录和分享,请各位在实地搭建时参考更多的相关资料或咨询相关有经验的人员。 实验拓扑结构: 1. 域控…

批量修改域用户密码

windows powershell ISE 中: dsmod user (dsquery user -samid su.jirou) -pwd strongpasswd cmd 中: dsquery user -samid su.jirou | dsmod user -pwd strongpasswd 批量修改域用户密码为随机 1、在表格中编辑,如下图: 2、表…

vue 视频上传组件

组件&#xff1a; <template><div class"upload-box"><div class"avatar-uploader-box"><!-- 图片预览 --><div :key"index" class"video-preview" v-for"(item, index) in videoList"><…

Vue视频流播放器 Vue-Core-Video-Player

最近遇到点需求&#xff0c;领导要求能四宫格、九宫格的视频流播放器&#xff0c;还要能随意切换播放地址&#xff0c;一开始想用Vue-Video-Player解决问题的&#xff0c;但越用越不爽&#xff0c;试试别的~ Vue-Core-Video-Player 注&#xff1a;在多屏的时候会互相干扰&…

Vue实现视频播放

1.使用html的video标签(适合pc端&#xff0c;支持Ogg、MPEG4、WebM格式) &#xff08;1&#xff09;安装video.js插件 cnpm install --save video.js&#xff08;2&#xff09;在main.js中导入video.js import Video from video.js import video.js/dist/video-js.css(3)使用…

vue-mini-player vue视频播放组件

基于 Vue 的一个轻量级视频播放组件&#xff0c;适配 PC 和移动端 vue-mini-player使用方法&#xff1a; 安装 npm install vue-mini-player -S// main.js import vueMiniPlayer from vue-mini-player import vue-mini-player/lib/vue-mini-player.css Vue.use(vueMiniPlaye…

Vue视频播放进行+水印的截图

需求 视频相关项目&#xff0c;有时候需要对视频进行截图的&#xff0c;图片一般加上水印。 这里展示下普通视频播放和直播视频播放的加水印方式。 资源 测试需要的视频资源用的 阿里视频中心 video播放视频 一些非直播、不复杂的视频播放需求&#xff0c;直接用这个就好…

vue 视频 时间进度条组件

vue 视频 时间进度条组件 有些视频是以视频流的形式进行渲染的&#xff0c;没有视频滚动条&#xff0c;所以就写了24h的时间组件 实现思路&#xff1a; 1&#xff0c;24h的时间刻度线总宽度为12960px 2&#xff0c;点击24h线的某一点&#xff0c;获取这一点离左侧原点的距离&a…

vue视频通话(Agora声网)

文章目录 声网简介语音视频通话API互动直播API实时消息API实时录制API实时码流加速API水晶球Agora Analytics 质量监控平台 基于声网实现视频通话注册配置实现音视频通话基本逻辑创建对象加入频道创建轨道订阅轨道 基于以上步骤封装组件导入注册使用项目页面注意事项GitHub链接…

vue 视频播放插件VideoPlayer

vue 视频播放插件VideoPlayer 1.npm install vue-video-player --save 2.main.js引入 import VideoPlayer from vue-video-player import vue-video-player/src/custom-theme.css import video.js/dist/video-js.cssVue.use(VideoPlayer)

vue 视频播放

一、概述 基于 Vue 的一个轻量级视频播放组件&#xff0c;适配 PC 和移动端。 官方链接&#xff1a;https://webweifeng.github.io/vue-mini-player/ 特色 1.轻量级 HTML5 播放器&#xff0c;精美 UI 控件&#xff0c;简单易上手 2.提供以 npm 的形式安装提供全局组件 3.多格式…

VUE视频

1.Vue后台脚手架安装过程&#xff1a;node.js

vue 视频截屏

video播放视频&#xff0c;一键截屏功能实现&#xff08;2种方式&#xff09; 1.canvas <template><div class"hik-box"><canvas style"display:none;width:200px;height:200px" id"myCanvas"></canvas><video wid…

Vue视频学习

黑马程序员vue前端基础教程-4个小时带你快速入门vue_哔哩哔哩_bilibili vue的el挂载点 id选择器&#xff0c;class选择器&#xff0c;元素选择器&#xff0c;推荐使用id选择器&#xff0c;因为id选择器唯一 vue的数据对象 vue开发网页&#xff1a; v-text v-html:解析返回的…

Vue2视频播放(Video)

Vue3视频播放&#xff08;Video&#xff09; 可自定义设置以下属性&#xff1a; 视频文件url&#xff08;src&#xff09;&#xff0c;必传&#xff0c;默认 &#xff0c;支持网络地址https和相对地址require(...) 视频封面url&#xff08;poster&#xff09;&#xff0c;默…

vue实现视频播放器功能,你学会了吗

&#x1f48c; 作者简介 &#x1f4d6; 个人介绍&#xff1a;小伙伴们&#xff0c;大家好&#xff01;我是水香木鱼&#xff0c;【前端领域创作者】&#x1f61c;&#x1f4dc; CSDN主页&#xff1a;水香木鱼&#x1f4d1; 个人博客&#xff1a;陈春波&#x1f3a8; 系列专栏&…