DDD领域驱动设计#1-基础概念

1. 领域-Domain

领域是一个组织所做的事情以及其中所包含的一切。是基于业务来确定的,一个项目或一个产品面对的是什么行业、什么样的组织即项目领域。
领域是具有相对性的概念,一个项目的领域可能是另一个项目的通用子域,因为业务对象是不同的。
在一个项目中,领域需要被划分为多个子域,子域有核心子域,关联子域,通用子域。

1.1. 如何定义领域

  1. 战略设计
  2. 战术设计

2. 子域

子域即对领域中某一类的业务的问题集合,是具体的问题实现。

3. 限界上下文

限界上下文(Bounded Context)定义了每个模型的应用范围,在每个Bounded Context中确保领域模型的一致性。不同的限界上下文中,领域模型可以不用保证一致性。通常我们根据团队的组织、软件系统的每个部分的用法及物理表现(如组件划分,数据库模式)来设置模型的边界。

4. 架构

5. 实体

6. 值对象

7. 聚合根