Java
Euonia DDD 模块 API 文档
概述¶
领域驱动设计(Domain-Driven Design)—— Euonia 框架的战术设计工具箱。提供 Entity、Aggregate、ValueObject、Command、DomainEvent、UseCase 和 ApplicationService 等核心 DDD 构建块,帮助开发者以领域模型为中心构建高内聚、低耦合的业务系统。
- Maven 坐标:
com.euonia:domain-driven-design - Java 模块名:
com.euonia.domain - 依赖:
com.euonia:core
导出包¶
com.euonia.domain¶
领域层核心构建块。
| 类 | 类型 | 说明 |
|---|---|---|
| Entity | interface | 实体接口,定义具有唯一标识的领域对象 |
| EntityBase | abstract class | 实体抽象基类,提供 id 属性默认实现 |
| Aggregate | interface | 聚合根标记接口 |
| AggregateBase | abstract class | 聚合根基类,内置领域事件管理 |
| ValueObject | class | 值对象基类,基于字段的 equals/hashCode/compareTo |
| HasDomainEvents | interface | 领域事件契约接口 |
com.euonia.domain.event¶
事件系统。
| 类 | 类型 | 说明 |
|---|---|---|
| Event | interface | 事件基类接口 |
| EventBase | abstract class | 事件抽象基类,基于 HashMap 的属性存储 |
| DomainEvent | interface | 领域事件接口 |
| DomainEventBase | abstract class | 领域事件基类,自动设置来源信息 |
| ApplicationEvent | interface | 应用事件标记接口 |
| ApplicationEventBase | abstract class | 应用事件基类 |
| EventAggregate | class | 事件元数据聚合 |
com.euonia.domain.command¶
命令系统。
| 类 | 类型 | 说明 |
|---|---|---|
| Command | interface | 命令标记接口 |
| CommandBase | abstract class | 命令抽象基类,基于 HashMap 的属性容器 |
com.euonia.domain.auditing¶
审计系统。
| 类 | 类型 | 说明 |
|---|---|---|
| @Audited | annotation | 审计注解 |
| AuditRecord | class | 审计记录实体(extends EntityBase),记录 entityName/entityId/action/timestamp/userId |
| AuditStore | interface | 审计存储接口 |
com.euonia.application¶
应用服务层。
| 类 | 类型 | 说明 |
|---|---|---|
| ApplicationService | interface | 应用服务标记接口 |
| BaseApplicationService | abstract class | 应用服务基类,内置 ServiceProvider |
com.euonia.usecase¶
用例层。
| 类 | 类型 | 说明 |
|---|---|---|
| UseCase | interface | 用例接口 |
| UseCaseSuccess | interface | 成功输出端口 |
| UseCaseFailure | interface | 失败输出端口 |
| UseCasePresenter | class | 用例展示器,基于 SubmissionPublisher 的响应式订阅 |
依赖¶
com.euonia:core(compile)org.junit.jupiter:junit-jupiter(test)org.assertj:assertj-core(test)
作者¶
- damon (zhaorong@outlook.com)