「这是我参与2022首次更文挑战的第3天,活动详情查看:2022首次更文挑战」。
什么是领域对象模型?简单来说,领域模型就是通过领域对象这种方式,对业务概念的抽象。它让我们能够专注于较为关键的业务问题本身,更好地理解业务,从而能够更好地发展业务。
DDD介绍
领域驱动设计是一种处理高度复杂业务问题的设计思想,试图分离技术实现的复杂性,围绕业务概念构建业务模型,控制业务的复杂性,用来解决软件难以理解,难以演化等问题。
通过领域模型表达业务知识,让业务与技术都是通过领域模型来表述业务。
下面我们来介绍下领域模型的关键概念:
- 实体:能通过唯一标识符表示出来的对象。属性发生变化,实体不变。
- 值对象:值对象不关心id,属性发生变化,则变为一个新的对象。
- 聚合:表示对象之间的关系,是多个值或者对象的组合。聚合的节点叫聚合根。聚合内对象的生命周期一致。
- 领域服务:实体和实体对象都有方法,如果方法无法归到某一个对象上,那么我们需要采用领域服务。
- 限界上下文:领域模型都处在一个边界中,在这个边界内,每个模型的属性和操作,都有特殊的含义。比如苹果,在水果范畴内,它是一个水果。但是在公司范畴内,它就是一个公司。
DDD实践流程
- 根据需求划分出领域和界限上下文,另外还需要确定上下文之间的关系;
- 进一步分析出每个界限上下文内部的实体以及值对象;
- 对实体、值对象的进行关系分析,划分出聚合范畴及聚合根;
- 为聚合根设计仓储
- 在实践中不断检验模型的合理性,不断完善领域模型