如果某个class经常因为不同的方向上发生变化,Divergent
Change就出现了。当你看着一个class说[呃,如果新加入一个数据库,我必须修改这三个函数;如果新出现一种金融工具,我必须修改这四个函数],
那么此时也许将这个对象分成两个会更好,这么一来每个对象就可以只因一种变化而需要修改。当然,往往只有在加入新数据库或新金融工具后,你才能发现这一
点。针对某一外界变化的所有相应修改,都只应该发生在单一class中,而这个新class内的所有内容都应该外界变化。为此,你应该找出因着某特定原因
而造成的所有变化,然后运用Extrace Class(149)将它们提炼到另一个class中。