Type: concept
Confidence: 0.80
Created: 2026-04-25
Updated: 2026-04-25
Tags: 重构代码异味继承设计AI工程

平行继承体系

概述

平行继承体系是代码异味的一种,指在一个继承体系中每创建一个子类,就需要在另一个继承体系中也创建相应的子类,形成相互依存的继承结构。

关键内容

  1. 特征识别
  2. 在一个继承体系中创建子类,另一个体系也必须跟着创建对应子类
  3. 类名前缀相似(如DatabaseOrder、DatabaseProduct、XMLOrder、XMLProduct)
  4. 两个继承体系之间的类存在一对一的关系
  5. 继承层次紧密耦合

  6. 负面影响

  7. 维护成本加倍,每次扩展需要维护两套继承体系
  8. 两个层次之间过度耦合
  9. 容易遗漏一边的修改
  10. 代码复杂度急剧增加
  11. 扩展性差

  12. 典型场景

  13. 不同数据源的处理类(数据库版、XML版、JSON版)
  14. 不同渲染引擎的界面组件
  15. 不同协议的网络通信类

  16. 重构策略

  17. Move Method:将方法移动到合适的类中
  18. Move Field:将字段移动到合适的类中
  19. 消除其中一个继承层次
  20. 使用组合替代继承

来源

相关