ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
作法(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(不可变之[实值型对象])。
posted on 2005-08-30 15:46 ivaneeo 阅读(125) 评论(0)  编辑  收藏 所属分类: refactoring-从地狱中重生

只有注册用户登录后才能发表评论。


网站导航: