DDD专题系列(五)---战略设计(限界上下文)

本文介绍了战略设计中的限界上下文和子域概念,强调了它们在领域驱动设计(DDD)中的重要性。限界上下文定义了业务领域的边界,而子域则将大型领域分解为更小、更易管理的部分。通过划分核心域、支撑域和通用域,企业可以有效地分配资源,优先解决关键问题。限界上下文的划分类似于战争中的战略布局,需要根据实际情况合理配置资源,以实现最大效益。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

五、战略设计(限界上下文)

​ 战略设计部分最重要的一部分来了。这里先简单介绍一下它, 限界可以从字面意思中看出来,重点在于边界,界限。上下文我们应该都知道,合理来的意思就是上下文的边界,限界上下文划分的是否会直接或间接影响项目的整体进度和质量。下面我们先解决两个东西:

(1) 上下文是什么?

​ 简单点说,这就是我们所处的领域,它包含了我们所需要解决问题的整体集合。

(2) 为什么需要边界?

​ 每一个领域都太过庞大,我们必须把他们划分成单个的小问题,逐个击破。

​ 讲完这两个问题之后,我们需要重新审视一下领域这个名词,领域是 DDD中的第一个D,对于它的解释一般为: 某一特定范围内的问题集合。根据这个集合,人类会本能将其划分,社会或者市场会针对某一范围内的问题,产生一些特定划分。这里我依然拿房地产行业举例: 我们在房地产没有任何计算机浸入时,我们就知道什么叫房源(当然可能叫法不一样),我们买房子肯定是找到卖房子的人,然后和他们签署有效凭据,然后确认这个房子就是购买者的。无论在什么时候,房地产的基本行为是不变的,这些流程中涉及到的相关事物,我们叫做子域。很自然,我们能够说出来的就是:

​ a. 买房子的凭据—订单

​ b. 房子—房源

​ c. 卖房子的人—门店,经纪人,开发商

​ 这些是行业自出现就已经由社会分化体系所产生的,并不需要我们做过多处理。可是我们仍然给他们分出优先级,哪些问题最重要,最需要优先解决。这里可以按照核心域 > 支撑域 > 通用域的关系,依次从领域中区分出来。每一家企业对于重要性的次序可能都不一样,比如核心域的区分,就得从公司核心竞争力去考虑; 支撑域表示为核心域服务的子域; 通用域则是没有涉及过多行业相关信息以及领域信息,可以由第三方提供的子域。

​ 从上文我们可以看出子域和限界上下文都是用来划分领域的,但是是从不同角度去划分的,见下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tBBIJeAw-1633936563753)(战略设计(限界上下文1)].assets/image-20211011144900362.png)

​ 子域和限界上下文,核心作用都是帮助我们来分配资源的。

  • 先找到最重要的,优先级最高的问题
  • 然后将人力,时间资源合理划分成多份,对应去处理这些问题
  • 最重要的是根据当前实际情况,合理分配已有资源,实现效益最大化

总结一下

​ 限界上下文其实在相对小团队中,很难看出起到非常巨大的作用。因为本来资源就十分有限,而且所需要解决的问题也没有什么区分度,这些因素都导致我们不能非常直接的看到限界上下文区分的作用。最后我做一个类比:

限界上下文的划分就好像是我们在做一场大的战役布局,得根据敌我双方的特点,进行排兵布阵,把各个兵团的擅长之处去做他们擅长的事,至于该怎么排兵布阵,我放在下一节来讲。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值