1.提取子程序或者方法。
2.讲子程序的代码内联化。
3.用简单的方法替换复杂的方法。
4.增加参数。
5.删除参数。
6.将查询操作从修改中独立出来。
7.合并相似的子程序,通过参数来区分。
8.将行为取决于参数的子程序拆分开。
9.传递整个对象而非特定成员。
10.传递特定成员来取代传递整个对象。
11.包装向下转型的操作(返回借口和抽象类)。