重构读书笔记-11_5-Push_Down_Feild

2019-08-02  本文已影响0人  MR_Model

重构第十一章

5.Push Down Field(值域下移)

superclass中的某个值域只被部分(而非全部)subclass用到。将这个值域移到需要它的那些subclasses去。

Example:

class Employee...
    int quota
class Salesman extends Employee...
class Engineer extends Employee...

Analyse:
和Push Down Method(函数下移)相同的实例,销售人员才有指标,所以Emoloyee中的quota变量没有在所有子类中没有被使用,所以可以使用Push Down Field(值域下移)的方法,将quota移到使用它的子类中。

End:

class Employee...
class Salesman extends Employee...
    int quota
class Engineer extends Employee...

Conclusion:

Push Down Field(值域下移)恰恰相反于Pull Up Field。我们使用这个手法,将独属于某一子类的变量、值域,从superclass移出。

注意

重构必须在有单元测试的情况下,保证之前的功能修改后不收影响。切记!!!
上一篇 下一篇

猜你喜欢

热点阅读