DDD领域驱动设计#1-基础概念
1. 领域-Domain
领域是一个组织所做的事情以及其中所包含的一切。是基于业务来确定的,一个项目或一个产品面对的是什么行业、什么样的组织即项目领域。
领域是具有相对性的概念,一个项目的领域可能是另一个项目的通用子域,因为业务对象是不同的。
在一个项目中,领域需要被划分为多个子域,子域有核心子域,关联子域,通用子域。
1.1. 如何定义领域
- 战略设计
- 战术设计
2. 子域
子域即对领域中某一类的业务的问题集合,是具体的问题实现。
3. 限界上下文
限界上下文(Bounded Context)定义了每个模型的应用范围,在每个Bounded Context中确保领域模型的一致性。不同的限界上下文中,领域模型可以不用保证一致性。通常我们根据团队的组织、软件系统的每个部分的用法及物理表现(如组件划分,数据库模式)来设置模型的边界。