更新时间:2026-02-03 GMT+08:00
分享

多彩领域模型

多彩领域模型是一种用于描述领域业务的模型,它可以帮助开发人员和用户更好地理解领域的业务流程和规则。多彩领域模型通常包括各种类、对象、属性、关系等元素的描述,可以对领域的各个环节进行详细的建模,从而为开发人员提供详细的业务逻辑参考。

元素介绍

表1 需求图元素

元素名

图标

含义

Interface

接口,定义领域行为契约的核心机制,连接领域概念与技术实现的桥梁。

SubDomain

子域,是对问题域的澄清和划分,是整个业务领域的一部分。可以认为子域代表的是一个单一的、有逻辑的领域模型。

I_BusinessRule

业务规则接口,将业务规则抽象为接口,使规则成为可组合、可测试、可替换的核心独立组件。

Entity

实体,是聚合的主干,具有唯一标识和生命周期。

Factory

工厂,封装复杂对象的创建逻辑,确保创建出的领域对象从一开始是完整且一致。

Class

类,实现领域概念的核心单元,是业务行为和规则的封装体。

Application Service

应用服务,负责协调领域对象来完成一个具体的、用例相关的业务操作。

I_DomainService

领域服务接口,封装不属于聚合的领域逻辑。

I_Repository

资源库接口,提供聚合持久化的抽象,让领域层不依赖具体的数据存储技术。

Domain Service

领域服务,通常一个聚合有一个对应的领域服务,组织多个实体实现相对复杂的业务逻辑。

I_Event

事件接口,定义领域事件结构、行为和契约的核心机制。

Aggregate

聚合,是可以承载决策命令、其对应的领域事件和属性(输入和输出)的重要业务概念。

BusinessRulePolicy

业务规则策略,对系统业务或设计起约束作用的规则。

Table

表格,领域模型与持久化之间的映射关系。

I_Factory

工厂接口,将复杂对象创建逻辑抽象化、标准化、可替换化的核心设计。

EventPolicy

事件策略,当某个领域事件发生时,自动执行一组相关的业务策略。

I_Entity

实体接口,定义实体核心行为、不变条件和生命周期的关键抽象。

Bounded Context

边界上下文,是业务上下文的边界,在该边界内,封装通用语言和领域对象,同时也包含了领域模型提供交互手段和辅助功能的内容。

Value Object

值对象,是实体的附加业务概念,用来描述实体所包含的业务信息。

Composition

组合,是整体与部分的关系,但部分不能离开整体而单独存在。

Aggregation

聚合,是整体与部分的关系,且部分可以离开整体而单独存在。

Realization

实现,是一种类与接口的关系,表示类是接口所有特征和行为的实现。

Dependency

依赖,是一种使用的关系,即一个类的实现需要另一个类的协助。

Usage

使用,是一种使用的关系。表明一个模块在运行的时候,需要使用另外一个模块。

Association

关联,是一种拥有的关系,它使一个类知道另一个类的属性和方法。

Generalization

泛化,表示类与类、接口与接口之间的继承关系,由子对象一方指向父对象一方。

Control Flow

控制流,控制后续模块之间的关系。

Constraint

约束,用于语义条件或者限制的表达式。

Anchor

锚点,定义了核心锚点之间以及锚点与其他组件之间的结构化连接,形成稳定的领域拓扑。

Nesting

嵌套,即一个类的嵌套到另一个类。

Abstraction

抽象是确认一件事物本质特征的行为,这种行为将这个事物与其他所有事物区分开来。

抽象依赖关系表示成从客户元素指向提供者元素的箭头。

建模步骤

以某硬件项目为例设计软件架构。

  1. 工具箱拖动Application Service元素至画布中,并命名应用子域。

    同样方式创建Application Service元素并命名资源申请,拖入到应用子域元素中。

  2. 参考应用子域创建各子域SubDomain,并将Domain Service和Interface元素分别拖入对应子域。

  3. 使用连线Dependency连接各子域。

相关文档