Parallel Inheritance Hierachies其實是Shotgun Surgery的特殊情況。在這種情況下,每當你為某個class增加一個subclass,必須也為另一個class相應增加一個subclass。如果你發現某個繼承體系的class名稱前綴和另一個繼承體系的class名稱前綴完全相同,便是聞到了這種味道。
消除這種重復性的一般策略是:讓一個繼承體系的實體(instances)指涉(參考、引用、refer to)另一個繼承體系的實體(instances)。如果再接再厲運用Move Method(142)和Move Field(146),就可以將指涉端(referring class)的繼承體系消弭于無形。