1、Encapsulate Collection(封装集合) :把集合进行封装,只提供调用端需要的接口;有些时候并不需要把所有操作暴露给用户,只需要给用户需要的操作即可,做法就是封装。
2、Move Method(移动方法) :即把方法放到合适的位置(通常指合适的类中)。如果一个方法经常被另外一个类使用时,或者该方法本身就不应该放在这个类里面,那么应该考虑将其移动到合适的类中
3、Pull Up Method(提升方法):提升方法是指将一个很多继承类都要用到的方法提升到基类中,这样可以减少代码量,同时让类的结构更清晰,如果不是每个子类都有这个方法的话,可以考虑使用接口或者其他方式
4、Push Down Method(降低方法):降低方法就是把个别子类用到的方法从基类移动到子类中去
5、Pull Up Field(提升字段):把子类公用的字段提升到基类中以达到公用
6、Push Down Field(降低字段):把基类中只有少数类用到的字段降低到使用它们的子类中
7、Rename(method,class,parameter)(重命名(方法、类、参数)):其实就是在命名时起一个有意义的名字,让人见到知道啥意思
8、Replace Inheritance with Delegation(使用委派代替继承):在没有父子关系的类中使用继承不合理,可以用委派的方式代替
9、Extract Interface(提取接口):当超过一个的类要使用某一个类中的部分方法时,应该接口他们之间的依赖,让调用者使用接口,这样可以降低代码耦合性。
10、Extract Method(提取方法):把某些计算复杂的过程按照功能提取成各个小方法,这样可以使代码的可读性、维护性得到提高。