EDD 术语表
2025/9/28大约 2 分钟
EDD 术语表
核心概念术语
副作用驱动设计 (Effect-Driven Design, EDD)
- 以"副作用识别与组织"为核心的系统架构方法 副作用 (Side Effect)
- 改变系统状态的行为,如数据库写入、API调用、发送消息等 纯化层 (Pure Layer)
- core、domain、app三层的统称,尽可能减少副作用的产生
架构分层术语
core层
- 纯业务数据结构与逻辑层,不允许副作用,可100%测试 domain层
- 行为定义层/契约层,定义trait和DTO,描述副作用语义 app层
- usecase编排层/Service层,组合trait、协调行为、返回结果+事件 infra层
- 副作用实现层,包含DB/API/Cache等具体实现 event层
- 副作用触发层,包含事件定义与事件调度器
数据结构术语
Outcome<T>
- usecase的标准返回结构,包含data、from_case、events AppEvent
- 应用事件,用于解耦外部副作用与主流程 AppUseCase
- 用例标识,描述从哪个用例来 DTO (Data Transfer Object)
- 数据传输对象 Entity
- 实体,描述纯粹实体本身及衍生操作 ValueObject
- 值对象
设计模式术语
trait
- 行为语义接口定义,用于抽象副作用 usecase
- 用例,业务编排的基本单元 orchestrator
- 编排器,异步处理事件的组件 Outbox Pattern
- 事件发件箱模式,用于可靠的事件发布 mock
- 模拟实现,用于测试时隔离副作用
副作用分类术语
决策副作用
- 影响业务决策的副作用,如查询黑名单 执行副作用
- 执行具体操作的副作用,如发积分、发消息 异步非关键副作用
- 不影响主流程的副作用,如日志、埋点 外部状态操作
- 操作外部系统的副作用,如三方API调用
测试相关术语
副作用等级
- 0-3级,表示副作用的程度 契约测试 (Contract Test)
- 验证trait接口约束的测试 事件断言测试
- 验证事件正确性的测试 YAML驱动测试
- 使用YAML配置生成测试用例
评估维度术语
副作用封装结构
- 副作用的组织方式 usecase聚合能力
- usecase组合多种逻辑/副作用的能力 副作用隔离程度
- trait的可mock程度 可观测性
- usecase执行的事件流记录能力 幂等性
- 重复调用不影响结果的特性
这些术语构成了EDD方法论的核心词汇体系,强调通过识别、组织和控制副作用来构建可维护、可测试的系统架构。