目录
1.概要
领域驱动模型(Domain-Driven Design,简称DDD)是一种软件开发方法论,强调将软件系统的设计与领域模型紧密结合,以解决复杂业务领域的问题。
领域模型是领域驱动设计(DDD)中的核心概念之一,它是对业务领域的概念、实体、规则和行为的抽象表示。
领域模型通过使用领域对象、实体、值对象、聚合根、领域服务等概念,进行描述业务领域的核心概念和关系。
2.领域模型
-
领域(战略):业务范围,范围就是边界。
-
子领域:领域可大可小,我们将一个领域进行拆解形成子领域,子领域还可以进行拆解。当一个领域太大的时候需要进行细化拆解。
-
模型(战术):基于某个业务领域识别出这个业务领域的聚合,聚合根,界限上下文,实体,值对象。
领域模型通过使用领域对象、实体、值对象、聚合根、领域服务等概念,进行描述业务领域的核心概念和关系。
3.限界上下文(战略)
业务的边界的划分,这个边界可以是一个领域或者多个领域的集合。复杂业务需要多个域编排完成一个复杂业务流程。限界上下文可以作为微服务划分的方法。
-
其本质还是高内聚、低耦合,只是限界上下文只是站在更高的层面来进行划分。
-
如何进行划分,我的方法是一个界限上下文必须支持一个完整的业务流程,保证这个业务流程所涉及的领域都在一个限界上下文中。
4.领域对象(Domain Object)
领域对象是领域模型中的实体,代表领域中的具体概念或事物,如订单、用户、产品等。
-
领域对象具有状态和行为,并通过方法来执行业务操作。
-
领域对象反映了业务领域中的核心概念和实体之间的关系。
5.实体(Entity)
具有唯一标识的领域对象,具有自己的生命周期和状态,并且可以进行行为操作。
例如一个交易订单&#