什么是DDD领域驱动设计的领域和子域?


Domain领域是DDD最重要的概念,理解什么是领域对于我们实现我们称之为“ 域蒸馏 ”的必要条件,我们将在未来的帖子中解决这个问题。
我们可以说Domain是一个工作范围和一个工作方式,换句话说,它指的是我们正在行动的问题的空间,它的实体,它的行为和规则。每家公司都拥有一个独特的领域,即使它遵循“市场惯例”,公司也将始终拥有自己的做事方式,业务差异化,品牌化。

我们需要知道的一件事是:领域在DDD中可能有一些含义:
- 领域是公司业务域的总和。
- 领域涉及公司的区域,部门或流程。
- 领域是支持业务的。

我们设计的领域模型来自领域Domain,它是寻求满足领域Domain需求的解决方案。认为我们可以为整个公司创建一个单一的领域模型是错误的,如果你试图这样做肯定会失败。

子域
DDD需要将领域分解为子域,这有助于我们理解。
通过这种方式,我们能够分离实际上为公司带来价值和财务回报的东西,因此,从战略上讲,我们可以在域的这一部分尽最大努力。
简单来说,一个子域是的领域Domain的子部分。无论公司的规模如何,每个领域都可以划分为子域,通过这样做,我们将公司领域的整个复杂性划分为更小的部分,我们将拥有能够很好地理解业务方面的领域专家,因为它是一个特定的子域。

子域的类型

子域有三种类型:

  1. 核心或基础这是我们必须尽最大努力的地方,正是这使公司发挥作用,为公司带来价值,使公司与竞争对手脱颖而出,是最重点的地方。
  2. 辅助或支持这是领域Domain的实现,如果没有它,主要领域是不能成功的,因此,它是非常重要的,需要内部开发或外包,因为没有现成的解决方案来实现。
  3. 通用它通常是现成的解决方案,但也可以外包或甚至内部开发。它没有为您的主要业务带来特定的规则,即在大多数情况下我们可以作为服务雇用。