DDD之2领域概念
2020-05-30 16:04:55来源:博客园 阅读 ()
DDD之2领域概念
图中是暗黑领域,非常牛逼的技能。
背景
DDD中出现的名词: 领域,子领域,核心域,通用域,支撑域,限界上下文,聚合,聚合根,实体,值对象 都是关键概念,但是又比较晦涩,在开始DDD之前,搞清楚这些关键概念名词非常的重要。
那它们作用体现在哪里呢?
领域-子领域
领域是: 从事专门活动或者事业的范围。?
领域的作用是:确定范围和边界
DDD研究和解决业务问题过程如下:
DDD中的领域是:边界中要解决的业务问题域
领域就是范围,范围有大小之分,所以,DDD中大范围的叫领域,小范围的叫子领域;
DDD是一种处理高度复杂领域的设计思想,试图分离技术实现的复杂度。
那么问题来了?
面对错综复杂的业务领域,DDD是如何让业务从复杂变得简单,更容易理解? 如何让技术实现更容易?
**
答:跟自然科学的研究方法类似。
可以看看植物的完整生物知识学体系建立过程。
小结:
1,领域可以逐级细分为子领域,每个子领域都有一个知识体系(DDD的领域模型),
2,当所有的子领域的知识体系都建立完毕,就完成了对领域的知识体系建立,即建立了全域的领域模型。
从业务领域来分析对比二者的细分过程是否一致。
保险行业
对比结果:不同行业业务模型不一样,但是领域建模和微服务建设过程基本一样,核心思想:把问题领域逐步细分为子领域,从而降低业务理解和系统实现的复杂度。
核心域-通用域-支撑域
领域可以按照规则细分为子领域,子领域按照重要程度和功能特性有分为3类。即核心域,通用域,支撑域;
为什么要对子领域再进行核心域,通用域,支撑域的划分?目的是什么?
公司的IT系统建设过程中,资源和预算有限,在不同类型的子领域有不同的关注度和资源投入。
重要程度跟公司的战略方向和商业模式有关系,不同的公司,关注点不一样,即商业模式不同,核心领域的划分结果不同。
在公司领域细分、建立领域模型和系统建设时,我们就要结合公司战略重点和商业模式,找到核心域了,且重点关注核心域。
小结
领域的核心思想是逐级细分子领域,来降低业务的理解复杂度和技术实现的复杂度。
核心域,通用域,支撑域的划分目的是:区分不同的子领域在公司的重要程度和功能属性,从而提供不同的资源投入策略和关注度。
一句话来表达:
领域拆分为子领域就是做减法的过程,降低了业务的理解复杂度和系统实现的复杂度,而核心域,通用域,支撑域的划分是跟公司的商业模式有关系的,决定了子领域的不同优先级和资源投入策略。
原创不易,关注诚可贵,转发价更高!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。
我会持续分享Java软件编程知识和程序员发展职业之路,欢迎关注,我整理了这些年编程学习的各种资源,关注公众号‘李福春持续输出’,发送'学习资料'分享给你!
原文链接:https://www.cnblogs.com/snidget/p/12995676.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- DDD之4聚合和聚合根 2020-06-07
- DDD之3实体和值对象 2020-06-04
- JAVA自定义注解 2020-06-01
- DDD之1微服务设计为什么选择DDD 2020-05-30
- Java编程领域你需要懂得技术名词解释 2020-05-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash