如何理解领域和子域?

  • DDD 的领域就是这个边界内要解决的业务问题域。
  • 领域可以进一步划分为子领域。我们把划分出来的多个子领域称为子域,每个子域对应一个更小的问题域或更小的业务范围。

DDD 是如何使业务从复杂变得简单,更容易让人理解,技术实现更容易呢?

  • 细分

image.png

在所有子域的研究完成后,我们就建立了全域的知识体系了,也就建立了全域的领域模型。

如何理解核心域、通用域和支撑域?

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

  • 决定产品和公司核心竞争力的子域是核心域,它是业务成功的主要因素和公司的核心竞争力。
  • 没有太多个性化的诉求,同时被多个子域使用的通用功能子域是通用域。
  • 还有一种功能子域是必需的,但既不包含决定产品和公司核心竞争力的功能,也不包含通用功能的子域,它就是支撑域。

商业模式的不同会导致核心域划分结果的不同。有的公司核心域可能在客户服务,有的可能在产品质量,有的可能在物流。在公司领域细分、建立领域模型和系统建设时,我们就要结合公司战略重点和商业模式,找到核心域了,且重点关注核心域。