代码重构—类重构
1.提取类
类的职责必须单一,所以如果一个类所要完成的任务太多,就必须将其分解
提取前:
class Person{
String name;
String officeCode;
String officeNumber;
String getTelephoneNumber();
}
提取后:
class Person{
String name;
String getTelephoneNumber();
}
class TelephonNumber{
String officeCode;
String officeNumber;
String getTelephoneNumber();
}
2.提取父类,拉取函数和变量
如果两个类中拥有相同的函数和变量,则将其移动到父类中,如果没有父类则提取父类。
3.提取子类,下推函数和变量
如果父类中的函数或变量只是某一个子类中使用,则将其下推到子类中,如果没有子类则提取子类。
4.合并层次结构
如果子类与父类基本相同,则应该将其合并为一个类。