1 符号和症状2 病因3 治疗4 疗效发散式修改(divergent change)与散弹式手术(shotgun surgery)类似,但却是完全相反的。 发散式修改:对单个类做很多修改散弹式手术:同时对多个类做同样的修改 1 符号和症状任何修改,都要求对很多不同的类做很多小的修改。 2 病因单个职责被划分到大量类中。过分使用分散式修改后可能出现这种情况。 3 治疗移动方法和移动字段:将已有的类行为移动到单个类中。如果没有合适的移动目标类,则创建一个新类。 如果移动之后,原来的类几乎空,尝试通过内联类来摆脱这些冗余的类。 4 疗效 更好的代码组织更少代码重复更容易维护