如果某个类经常因为不同的原因在不同的方向上发生变化,发散式变化(Divergent Change)就出现了。那么此时也许将这个对象分成2个会更好,这么一来每个对象就可以只因1种变化而需要修改。针对某以外界变化的所有相应修改,都只应该发生在单一类中,而这个新类内的所有内容都应该反应此变化。为此应该找出某特定原因而造成的所有变化,然后运用Extract Class (提炼类)将它们提炼到另一个类中。
转载于:https://www.cnblogs.com/matchcolor/archive/2010/07/27/1786305.html