第七章:在对象之间搬移特性
1、Move Method(搬移函数)
在程序中有个函数与其所驻类之外另一个类有更多的调用、被调用关系,
那么在另一类中建立一个有着类似行为的新函数,在将旧函数变成一个单纯的委托,或者将旧函数移除
public class Ranking{
int baseScore = 10;
private int GetStudentIntegral(){
if(student.TimeOut()){
return student.Score* 0.9f;
}
else return baseScore + student.Result;
}
}
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓等价于↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
public class Ranking{
int baseScore = 10;
private int GetStudentIntegral(){
return student.GetIntegral(baseScore);
}
}
public class Student{
public int GetIntegral( int baseScore){
if(TimeOut()){
return Score* 0.9f;
}
else return baseScore + Score;
}
}
- 搬移函数是解耦常用的方法
2、Move Field(搬移字段)
某个字段被所驻类之外的另一个类更多的用到,在另一个类新建一个字段,修改原字段的所有引用。
示例:略
- 如果字段是频繁被访问的,