1、Extract Method:导出方法,将大方法变为多个小方法
2、Replace Temp with Query:使用函数代替临时变量
3、Extract Class:导出类
4、Extract Interface:导出接口
5、Introduce Parameter Object:当参数列表过长时,将这些参数封装成一个对象
6、Preserve Whole Object:保持对象完整,当一个方法的参数从一个类获取时,传递类实例而不是这些值.
7、Move Method: 将方法从一个类转移到另一个类中
8、Move Field: 将域从一个类转移到另一个类中
9、Replace Data Value with Object:将基本数据类型用类代替
10、Replace Type Code with State/Strategy:使用State或Strategy模式替换枚举类型值
11、Replace Conditional with Polymorphism: 使用多态改写原来case分支代码(Templet)
12、Replace Parameter with Explicit Methods:以明确函数取代参数,减少参数个数,增加函数个数
13、Introduce Null Object:引入Null Object
14、Inline Class:将一个类去除,并将代码直接引入到引用的类中
15、Rename Method:方法改名
16、Hide Delegate:将委托关系隐藏
16、Remove Middle Man:去除中间对象
17、Inline Method:将一个方法去除,并将代码直接引入到引用的方法中
18、Extract Superclass:导出基类
19、Introduce Foreign Method:通过增加一个以类实例为参数的方法,达到给该类实例增加功能的目的
20、Introduce Local Extension:通过继承或包装,达到给某类实例增加功能的目的
21、Replace Inheritance with Delegation:将继承关系变为委托关系
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=357482