领域和子域
领域:具体指一种特定的范围或区域,DDD 的领域就是这个边界内要解决的业务问题域。领域是用来限定业务边界和范围的,那么就会有大小之分,领域越大,业务范围就越大,反之则相反。

子域:领域可以进一步划分为子领域,把划分出来的多个子领域称为子域,每个子域对应一个更小的问题域或更小的业务范围。


    DDD 的研究方法与自然科学的研究方法类似。当人们在自然科学研究中遇到复杂问题时,通常的做法就是将问题一步一步地细分,再针对细分出来的问题域,逐个深入研究,探索和建立所有子域的知识体系。当所有问题子域完成研究时,我们就建立了全部领域的完整知识体系了。



    来看一下上面这张图。这个例子是在讲如何给桃树建立一个完整的生物学知识体系。初中生物课其实早就告诉我们研究方法了。它的研究过程是这样的:

第一步:确定研究对象,即研究领域,这里是一棵桃树。

第二步:对研究对象进行细分,将桃树细分为器官,器官又分为营养器官和生殖器官两种。其中营养器官包括根、茎和叶,生殖器官包括花、果实和种子。桃树的知识体系是我们已经确定要研究的问题域,对应 DDD 的领域。根、茎、叶、花、果实和种子等器官则是细分后的问题子域。这个过程就是 DDD 将领域细分为多个子域的过程。

第三步:对器官进行细分,将器官细分为组织。比如,叶子器官可细分为保护组织、营养组织和输导组织等。这个过程就是 DDD 将子域进一步细分为多个子域的过程。

第四步:对组织进行细分,将组织细分为细胞,细胞成为我们研究的最小单元。细胞之间的细胞壁确定了单元的边界,也确定了研究的最小边界。

核心域、通用域和支撑域
领域会细分为不同的子域,子域可以根据自身重要性和功能属性划分为三类子域,它们分别是:核心域、通用域和支撑域。

决定产品和公司核心竞争力的子域是核心域,它是业务成功的主要因素和公司的核心竞争力。

没有太多个性化的诉求,同时被多个子域使用的通用功能子域是通用域

还有一种功能子域是必需的,但既不包含决定产品和公司核心竞争力的功能,也不包含通用功能的子域,它就是支撑域

    这三类子域相较之下,核心域是最重要的,通用域和支撑域如果对应到企业系统,举例来说的话,通用域则是你需要用到的通用系统,比如认证、权限等等,这类应用很容易买到,没有企业特点限制,不需要做太多的定制化。而支撑域则具有企业特性,但不具有通用性,例如数据代码类的数据字典等系统。


    还是拿上图的桃树来说。我们将桃树细分为了根、茎、叶、花、果实和种子等六个子域,那桃树是否有核心域?有的话,到底哪个是核心域呢?

不同的人对桃树的理解是不同的。如果这棵桃树生长在公园里,在园丁的眼里,他喜欢的是“人面桃花相映红”的阳春三月,这时花就是桃树的核心域。但如果这棵桃树生长在果园里,对果农来说,他则是希望在丰收的季节收获硕果累累的桃子,这时果实就是桃树的核心域。在不同的场景下,不同的人对桃树核心域的理解是不同的,因此对桃树的处理方式也会不一样。园丁更关注桃树花期的营养,而果农则更关注桃树落果期的营养,有时为了保证果实的营养供给,还会裁剪掉疯长的茎和叶(通用域或支撑域)。

同样的道理,公司在 IT 系统建设过程中,由于预算和资源有限,对不同类型的子域应有不同的关注度和资源投入策略,好钢要用在刀刃上。


    领域拆分为子领域就是做减法的过程,降低了业务的理解复杂度和系统实现的复杂度,而核心域,通用域,支撑域的划分是跟公司的商业模式有关系的,决定了子领域的不同优先级和资源投入策略。








参考链接:
https://blog.csdn.net/tian583391571/article/details/106449286

领域、子域、核心域、通用域、支撑域相关推荐

  1. 怎么划分领域、子域、核心域、通用域和支撑域

    怎么划分领域.子域.核心域.通用域和支撑域 如何理解领域和子域? 什么是领域 什么是子域 怎么划分领域和子域 如何理解核心域.通用域和支撑域? 为什么要划分核心域.通用域和支撑域 总结 DDD 的知识 ...

  2. 02 | 领域、子域、核心域、通用域和支撑域:傻傻分不清?

    目录 如何理解领域和子域? 如何理解核心域.通用域和支撑域? 那为什么要划分核心域.通用域和支撑域,主要目的是什么呢? 总结 DDD 的知识体系提出了很多的名词,像:领域.子域.核心域.通用域.支撑域 ...

  3. 使用win2012 与 Win2012搭建子域和 使用win2008与win2012 搭建域林,建立域信任关系

    搭建子域 环境:已有一台Win2012作为父域控,父域为 win.com ,ip:192.168.3.132 目的:子域控为 win2012,搭建一个子域 son.win.com, ip:192.16 ...

  4. 私域认知篇:私域流量到底是什么?私域流量现象,私域流量可以解决什么问题,如何开展私域流量?...

    最近"私域流量"火了! 尽管热度如此高,但很多人提起"私域流量"仍然一知半解,众说纷纭. "私域不就是品牌会员群么?用一个新概念包装一下就能出去忽悠甲 ...

  5. 什么是“私域流量” 和“公域流量”

    如果现在的设计师只会UI设计(纯视觉设计那种),那么你往后的日子就不好混了,现在设计需求越来越广,很多公司的设计师都需要多种技能,如果再不吸收其它知识,就很容易被淘汰,今天给大家分享个新知识:&quo ...

  6. win2012 加域_Windows Server 2012 域设置及客户端加入

    Windows Server 2012定于下月18号正式发布,对于Windows服务器迷你是不是有一定的诱惑??想知道Windows Server 2012 究竟有了哪些改变,别的先不说,咱们先来看一 ...

  7. 关于空间域卷积和频率域卷积

    前段时间看了很多的概念和知识,发现因为是走马观花的过了一遍,所以看得稀里糊涂的,然后许多地方混淆了概念,特别是关于图像频率域的部分的理解(包括图像频率域滤波之类的),所以下面总结一下这段时间重新看&l ...

  8. 活动目录实战之一 windows 2008 r2 安装域中第一台域控制器

    windows 2008R2已经出来很长时间了,想写一下关于活动目录的一些知识.例如:我们应该如何安装域内第一台域控制器呢,找了很多文章,觉得胖哥这篇文章写的非常好,图文并茂,并且把原理讲的也非常清楚 ...

  9. 【转】JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  10. JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

最新文章

  1. tcp retransmission 出现的原因_为什么 TCP 会被 UDP 取代?
  2. Martin Fowler对全世界程序员的建议
  3. 多线程:Executor、Sleep、Deamon、Yeild
  4. 从str中选 m 个数的所有排列算法
  5. kicad最小布线宽度默认是多少_你想知道建仓库时叉车通道宽度留多少吗?
  6. leetcode 224. Basic Calculator | 224. 基本计算器(中缀表达式求值)
  7. mysql死锁影响_MySQL死锁系列-常见加锁场景分析
  8. 22.jsp动作元素
  9. python c cmd_在Python cmd模块中处理CTRL-C
  10. 实体类blob类型_Mysql的数据类型和JPA的实体类
  11. 软工视频(33~36)-用户界面设计
  12. javascript节点的操作 创建、添加、移除、移动、复制
  13. RDD和DataFrame和DataSet三者间的区别
  14. appium java动态等待_appium封装显示等待Wait类和ExpectedCondition接口
  15. 新浪微博Emoji表情解析
  16. Office 2007简体中文版售价抢先看
  17. 18048 自由落体
  18. 员工离职率高如何解决?
  19. git stash暂存修改
  20. rtl8188linux内核配置,Embeded linux之RTL8188EU/RTL8188ETV使用

热门文章

  1. 【oracle报错】/usr/bin/ksh conflicts between attempted installs of pdksh-5.2.14-30.x86_64
  2. javase学习——面向对象(下)
  3. 王廷强老师--研发质量管理--GDT几何形位公差高级专家--沪师经纪刘建
  4. 嵌入式Linux应用学习(一)------QT控制LED设备硬件
  5. 加什么地形就看什么等高线!等高线实时预览就是这么爽
  6. ZZM区块链全球区块文化娱乐相结合的新型网站源码
  7. oracle分组拼接
  8. STM32定时器控制LED灯闪烁与串口通信
  9. Java程序设计 北京大学 2019冬期末测验
  10. mysql rps和tps区别_并发虚拟用户、RPS、TPS的解读