首页/开发/代码质量与评审速查/手法:Remove Middle Man(移除中间人)
重构手法62 条

手法:Remove Middle Man(移除中间人)

转发过多时让调用方直接与真实对象交互:中间层只剩透传就失去价值,删掉它减少调用链;先确认中间人没有校验、缓存、权限等隐式职责。

信号中间类的方法大多是一行转发
前置检查是否承担校验/埋点/权限等横切职责
做法暴露真实对象引用,删除转发方法

核实要点

核实要点
void pay() { return ledger.pay(); }  // 纯转发?
void pay() { audit.log(); ledger.pay(); }  // 有职责,保留

易错点

  • 误删有隐式职责的转发:审计与权限悄然消失
  • 直接暴露内部对象后调用方乱改:需要配套封装

数据来源与参考

  • 《重构》第 2 版 · 第 7 章(Remove Middle Man)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌