领域模型概念简介

294 阅读2分钟

「这是我参与2022首次更文挑战的第3天,活动详情查看:2022首次更文挑战」。

什么是领域对象模型?简单来说,领域模型就是通过领域对象这种方式,对业务概念的抽象。它让我们能够专注于较为关键的业务问题本身,更好地理解业务,从而能够更好地发展业务。

DDD介绍

领域驱动设计是一种处理高度复杂业务问题的设计思想,试图分离技术实现的复杂性,围绕业务概念构建业务模型,控制业务的复杂性,用来解决软件难以理解,难以演化等问题。

通过领域模型表达业务知识,让业务与技术都是通过领域模型来表述业务。

下面我们来介绍下领域模型的关键概念:

  • 实体:能通过唯一标识符表示出来的对象。属性发生变化,实体不变。
  • 值对象:值对象不关心id,属性发生变化,则变为一个新的对象。
  • 聚合:表示对象之间的关系,是多个值或者对象的组合。聚合的节点叫聚合根。聚合内对象的生命周期一致。
  • 领域服务:实体和实体对象都有方法,如果方法无法归到某一个对象上,那么我们需要采用领域服务。
  • 限界上下文:领域模型都处在一个边界中,在这个边界内,每个模型的属性和操作,都有特殊的含义。比如苹果,在水果范畴内,它是一个水果。但是在公司范畴内,它就是一个公司。

DDD实践流程

  1. 根据需求划分出领域和界限上下文,另外还需要确定上下文之间的关系;
  2. 进一步分析出每个界限上下文内部的实体以及值对象;
  3. 对实体、值对象的进行关系分析,划分出聚合范畴及聚合根;
  4. 为聚合根设计仓储
  5. 在实践中不断检验模型的合理性,不断完善领域模型