领域驱动设计
核心:领域
设计要素:限界上下文(限接上下文控制业务、团队和技术)
根据业务边界、工作边界到应用边界分阶段识别限界上下文
业务概念→类型
业务规则→类型属性与行为
问题域:
从宏观(战略)层次划分不同业务关注点的子领域(限界上下文),微观(战术)建模
包括:限界上下文(Bounded Context)、上下文映射(Context Map)→识别核心域与子领域
限界上下文(就是对领域概念另一维度的解释)
- 保护领域概念的完整性
- 定义了技术实现的边界
微服务:整个上下文都是可以独立部署的设计单元
通过实体(Entity)来维护聚合根(Aggregate Root)的完整性
聚合
- 一种边界
- 封装一到多个实体或值对象
- 只有实体才能作为聚合根
工厂,资源库:对领域生命周期的管理
工厂:封装可能变化的复杂逻辑
资源库:领域对象增删查的管理