暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

看点有用的 2021-10-11
1972
一、简介
DDD的知识体系提出了很多的名词,如领域、子域、核心域、通用域、支撑域、限界上下文、聚合、聚合根、实体、值对象等等,我们需要理解这些概念为后面的知识做准备。

二、领域,子域
领域主要用来确定范围边界,在研究业务问题时会按照一定的规则将业务领域进行细分,当领域细分到一定的程度后,DDD会将问题范围限定在特定的边界内,在这个边界内建立领域模型,进而用代码实现该领域模型,解决相应的业务问题。
领域可以进一步划分为子领域。我们把划分出来的多个子领域称为子域,每个子域对应一个更小的问题域或更小的业务范围。
DDD 是一种处理高度复杂领域的设计思想,它试图分离技术实现的复杂度。
DDD的研究方法和自然科学的研究方法类似,当人们在遇到复杂问题时,通常会将问题一步步细分,将细分出的问题域,逐个深入研究,建立所有子域的知识体系,当所有子域完成研究时,我们就建立了全部领域的完整知识体系了。
我们以桃树作为研究对象,对研究对象进行细分,桃树分为营养器官和生殖器官,营养器官包含根、茎、叶,生殖器官包含花、果石、种子,根茎叶花果石种子则是细化后的问题子域。
叶子器官可细分为保护组织,营养组织,疏导组织,将组织细分为细胞,细胞成为要研究的最小单元,细胞壁确定了单元的最小边界。
细胞包含细胞核,线粒体,细胞膜等,这些物质协同完成细胞的特定功能,可以把细胞理解为DDD的聚合,细胞内的物质理解为聚合根,实体、值对象等,在聚合内这些实体一起协作完成特定的业务功能。

三、核心域、通用域和支撑域
子域根据重要性和功能属性可划分为核心域,通用域,支撑域。
决定产品核心功能的子域是核心域,被多个子域使用的是通用域,如认证,权限等,支撑域则具有企业特性,不具有通用性,如数据字典等。
不同的场景下,不同的人对核心域理解可能不同,园丁更关注花期的营养,果农更关注落果期的营养,商业模式不同,核心域也会有很大差别。
同时在IT系统建设过程中,考虑到发展阶段和资源成本,对不同类型的子域应该有不同的关注度和资源投入策略,保证好钢要用到刀刃上。
很多公司的业务表面上看上去相似,但商业模式和战略方向存在很大差异,关注点也不一样,在进行领域划分时,可能会出现很大的差异。
文章转载自看点有用的,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论