[11]Parallel Inheritance Hierarchies (平行继承关系)
Parallel Inheritance Hierarchies 其实是 Shotgun Surgery(散弹式修改) 的特殊情况. 在这种情况下, 每当你为某个类增加一个子类, 必须也为另一个类相应增加一个子类. 如果你发现某个继承体系的类名称和另一个继承体系的类名称前缀完全相同, 便是闻到了这种坏味道.
消除这种坏味道的一般策略是:
让一个集成体系的实例引用另一个继承体系的实例.
如果再接再厉运用 Move Method(迁移方法) 和 Move Field(搬移字段),
就可以将引用端的继承体系消弥于无形.
网友评论