重构二--在对象之间搬移特性(Inline Class)(3)--作法

重构二--在对象之间搬移特性(Inline Class)(3)--作法
作法(Mechanics)
    • 在absorbing class(合并端的那个class)身上声明source class的public协议,并将其中所有函数委托(delegate)至source class。
        • ==》如果[以一个独立接口表示source class函数]更合适的话,就应该在inlining之前先使用Extract Interface(341)。
    • 修改所有source class引用点,改而引用absorbing class。
        • ==》将source class声明为private,以斩断package之外的所有引用可能。
        • 同时并修改source class的名称,这便可使编译器帮助你捕捉到所有对于source class的“dangling references”(虚悬引用点)。
    • 编译,测试。
    • 运用Move Method(142)和Move Field(146),将source class的特性全部搬移到absorbing class。
    • 为source class举行一个简单的葬礼。

你可能感兴趣的:(重构二--在对象之间搬移特性(Inline Class)(3)--作法)