| 起点 | 调用方需求清单(用例) |
|---|---|
| 产物 | 角色接口集合(可多实现) |
| 校验 | 每个实现类没有被迫空方法 |
角色拆分示例
角色拆分示例
场景 A:导出报表 → ReportExportable
场景 B:定时任务 → ScheduledRunnable
场景 C:健康检查 → HealthProbeable
class ReportJob implements ReportExportable, ScheduledRunnable { ... }画接口前先画调用方:列出每个使用场景真正需要的方法集合,合并同类使用场景,得到角色接口;实现类按需实现多个角色,接口之间可再组合。
| 起点 | 调用方需求清单(用例) |
|---|---|
| 产物 | 角色接口集合(可多实现) |
| 校验 | 每个实现类没有被迫空方法 |
场景 A:导出报表 → ReportExportable
场景 B:定时任务 → ScheduledRunnable
场景 C:健康检查 → HealthProbeable
class ReportJob implements ReportExportable, ScheduledRunnable { ... }