[11]Parallel Inheritance Hierarchies (平行繼承關(guān)系)
Parallel Inheritance Hierarchies 其實(shí)是 Shotgun Surgery(散彈式修改) 的特殊情況. 在這種情況下, 每當(dāng)你為某個(gè)類增加一個(gè)子類, 必須也為另一個(gè)類相應(yīng)增加一個(gè)子類. 如果你發(fā)現(xiàn)某個(gè)繼承體系的類名稱和另一個(gè)繼承體系的類名稱前綴完全相同, 便是聞到了這種壞味道.
消除這種壞味道的一般策略是:
讓一個(gè)集成體系的實(shí)例引用另一個(gè)繼承體系的實(shí)例.
如果再接再厲運(yùn)用 Move Method(遷移方法) 和 Move Field(搬移字段),
就可以將引用端的繼承體系消彌于無形.