Title
副作用驱动设计体系(Effect-Driven Design, EDD)
一、设计哲学
副作用驱动设计(Effect-Driven Design, EDD)是一种以“副作用识别与组织”为核心的系统架构方法。它不以MVC、DDD等传统技术结构为起点,而以副作用的边界、风险和组织方式为第一性原则,构建适应变化、具备可观测性和可测试性的现代系统。
核心口号:副作用不可怕,不可控的副作用才可怕。
二、核心构成模块
| 层级 | 内容 | 说明 |
|---|---|---|
core/ |
纯业务数据结构与逻辑 | 不允许副作用,可100%测试 |
domain/ |
行为语义接口定义(trait)(行为定义层) | 描述副作用语义,不绑定具体框架 |
app/ |
usecase编排层(这个其实应该是Service层) | 组合 trait、协调行为、返回结果+事件 |
infra/ |
具体实现,如 DB/API/Cache (这个是副作用实现层) | 所有副作用实现汇聚于此层 |
event/ |
事件定义与事件调度器 (这是副作用触发层) | 用于解耦外部副作用与主流程 |
| 代码模板结构: |
