搬移函数(Move Method)
你的程序中,有个函数与其所驻类之外的另一个类进行更多的交流:调用后者,或者被后者调用。在该函数最常引用的类中建立一个有着类似行为的新函数。将就函数变成一个单纯的委托函数,或是将旧函数完全移除
一、动机
减少类之间的耦合,是系统中的类更简单,更干净利落的完成系统交付的任务
二、做法
1、检查源类中被原函数所使用的一切特性,考虑它们是否也应该被搬移。考虑是否要将使用相同特性的函数一并搬移
2、检查源类的超类和子类,看看是否有该函数的其他声明
3、在目标类中声明这个函数
4、将原函数代码复制到目标函数中。调整后者,使其在新家中能够正常运行
5、编译目标类
6、决定如何从源函数正确的引用目标对象
7、修改源函数,使之成为一个纯委托函数
8、编译测试
9、决定是否删除源函数,或将它当做一个委托函数保留下来
10、如果要移除源函数,请将源类中对函数的所有调用,替换为对目标函数的调用
11、编译,测试