31天重构指南之六:降低字段

与提升方法相似,提升字段也有一个相反的重构叫“降低字段”,降低字段是一个简单到不需要我们多说的重构,来看下面的代码:

    1: public abstract class Task

   2: {
   3:     protected string _resolution;
   4: }
   5:  
   6: public class BugTask : Task
   7: {
   8: }
   9:  
  10: public class FeatureTask : Task
  11: {
  12: }
 
在上面的例子中,我们在基类中定义了一个string类型的字段,但只有基类的一个子类使用,所以我们可以考虑将string类型的字段降低到使用它的子类中,需要注意的是,只有我们确定除了这个
子类没有别的子类要使用字段时,才应该将字段降低到子类中。
   1: public abstract class Task
   2: {
   3: }
   4:  
   5: public class BugTask : Task
   6: {
   7:     private string _resolution;
   8: }
   9:  
  10: public class FeatureTask : Task
  11: {
  12: }
原文链接:http://www.lostechies.com/blogs/sean_chambers/archive/2009/08/06/refactoring-day-6-push-down-field.aspx

你可能感兴趣的:(重构)