首页/开发/代码质量与评审速查/ISP 实操:从调用方绘制角色接口
设计原则与模式62 条

ISP 实操:从调用方绘制角色接口

画接口前先画调用方:列出每个使用场景真正需要的方法集合,合并同类使用场景,得到角色接口;实现类按需实现多个角色,接口之间可再组合。

起点调用方需求清单(用例)
产物角色接口集合(可多实现)
校验每个实现类没有被迫空方法

角色拆分示例

角色拆分示例
场景 A:导出报表 → ReportExportable
场景 B:定时任务 → ScheduledRunnable
场景 C:健康检查 → HealthProbeable

class ReportJob implements ReportExportable, ScheduledRunnable { ... }

易错点

  • 接口按实现类划分:调用方仍被迫依赖多余方法
  • 相同方法签名分属多接口:命名与语义需保持一致

数据来源与参考

  • Robert C. Martin · ISP 论述与接口角色建模实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌