重构第十一章
1.Pull Up Field(值域上移)
两个subclasses拥有相同的值域,将此一值域移至superclass。
Example:
class Salesman extends Employee:
private string name;
class Employee extends Employee:
private string name;
End:
class Employee...
private string name
class Salesman extends Employee...
class Employee extends Employee...
Conclusion:
在各个subclass中,可能会有重复的特性,如果这些重复特性的使用方法很相似,可以使用Pull Up Field(值域上移)方法,将它们归纳到superclass中。
本项重构减少重复代码:首先去除了[重复的数据声明];其次可以去除重复使用该值域的行为,从而去除[重复的行为]。
注意
重构必须在有单元测试的情况下,保证之前的功能修改后不收影响。切记!!!
网友评论