31天重构学习笔记6. 降低字段

概念:本文中的降低字段和前篇的提升字段正好相反,就是把基类中只有某些少数类用到的字段降低到使用它们的子类中。

 

正文:如下代码所示,基类Task 类中的_resolution字段只会在子类BugTask 中用到,所以就考虑把它放到BugTask 类中。

namespace LosTechies.DaysOfRefactoring.PushDownField.Before
{
public abstract class Task
{
protected string _resolution;
}

public class BugTask : Task
{
}

public class FeatureTask : Task
{
}
}

重构后的代码如下所示,这样做的好处可以简化基类,同时让其他没有使用它的子类也变得更加简单,如果这样的字段比较多的话,使用此重构也能节约一部分内存。

namespace LosTechies.DaysOfRefactoring.PushDownField.After
{
public abstract class Task
{
}

public class BugTask : Task
{
private string _resolution;
}

public class FeatureTask : Task
{
}
}

总结:此重构也是一个非常简单的重构,在很多时候我们都会不自觉的使用它。

posted @ 2013-02-05 09:50  于为  阅读(156)  评论(0编辑  收藏  举报