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

重构二--在对象之间搬移特性(Extract Class)(3)--作法
作法(Mechanics)
    • 决定如何分解class所负责任。
    • 建立一个新class,用以表现从旧class中分离出来的责任。
        • ==》如果旧class剩下的责任与旧class名称不符,为旧class易名。
    • 建立[从旧class访问新class]的连接关系(link)。
        • ==》也许你有可能需要一个双向连接。但是在真正需要它之前,不要建立[从新class同往旧class]的连接。
    • 对于你想搬移的每一个值域,运用Move Field(146)搬移之。
    • 每次搬移后,编译、测试。
    • 使用Move Method(142)将必要函数搬移到新class。先搬移较低层函数(也就是[就其他函数调用]多于[调用其他函数]者),再搬移较高层函数。
    • 每次搬移之后,编译、测试。
    • 检查,精简每个class的接口。
        • ==》如果你建立起双向连接,检查是否可以将它改为单向连接。
    • 决定是否让新class暴光。如果你的的确需要暴光它,决定让它成为reference object(引用型对象)或immutable value object(不可变之[实值型对象])。

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