多彩领域模型
多彩领域模型是一种用于描述领域业务的模型,它可以帮助开发人员和用户更好地理解领域的业务流程和规则。多彩领域模型通常包括各种类、对象、属性、关系等元素的描述,可以对领域的各个环节进行详细的建模,从而为开发人员提供详细的业务逻辑参考。
元素介绍
|
元素名 |
图标 |
含义 |
|---|---|---|
|
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 |
|
抽象是确认一件事物本质特征的行为,这种行为将这个事物与其他所有事物区分开来。 抽象依赖关系表示成从客户元素指向提供者元素的箭头。 |
建模步骤
以某硬件项目为例设计软件架构。
- 工具箱拖动Application Service元素至画布中,并命名应用子域。

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

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

- 使用连线Dependency连接各子域。
































