Spiga

一天一个重构方法(27):下移字段

2009-08-19 16:32:34

Push Down Field:下移字段

与上移字段相反的重构是下移字段,如果父类中某个字段只被部分子类用到,将这个字段移到需要它的那些子类去

public abstract class Task
{
	protected string _resolution;
}
public class BugTask : Task
{
}
public class FeatureTask : Task
{
}

在这个例子中,基类中的一个字符串字段只被一个子类使用,因此可以进行下移。只要没有其他子类使用基类的字段时,就应该立即执行该重构。保留的时间越长,就越有可能不去重构而保持原样。

public abstract class Task
{
}
public class BugTask : Task
{
	private string _resolution;
}
public class FeatureTask : Task
{
}