当想把提炼出的目标函数代码放置在一个新类中,但是目标需要源函数作用域的某个或某些变量时,如果该变量是源函数所在类的一个方法获取的,那么是该将源函数所在类的类对象实例作为参数传给目标函数,让目标函数调用该实例的方法获取需要的变量,还是在源函数中调用所在类方法获取数据再作为参数传给目标函数?
例如:
public class HandleFruit(){
public Apple getApple( ){
//函数实现
}
public void cookPisan(){
plantPear();//种梨子树
wateringPear();//浇水
reapPear(); //收成梨子
getApple();
cookPisan(Apple,Pear);
}
}
public class Pisan(){
public Pear getFruit(){
plantPear();//种梨子树
wateringPear();//浇水
reapPear(); //收成梨子
}
}
疑问就是可以将获取苹果雪梨当披萨的材料可以提炼成一条函数,但是获取苹果的方法是来自HandleFruit类,那么是该将HandleFruit类实例传进getFruit(HandleFruit hf)让后者调用getApple方法获取苹果变量,还是传一个苹果实例给getFruit(Apple AP).。哪个实践比较好?
本文探讨了在进行代码重构时,如何合理地选择参数传递的方式。具体来说,当需要从一个类中提取方法到另一个类时,面对依赖于源类内部状态的问题,文章讨论了直接传递类实例与传递具体数据两种方式的优劣。
9581

被折叠的 条评论
为什么被折叠?



