<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

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

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    • 作法(Mechanics)
      • 加入[為群集添加(add),移除(remove)元素]的函數.
      • 將[用以保存群集]的值域初始化為一個空群集.
      • 編譯.
      • 找出[群集設值函數]的所有調用者.你可以修改那個設值函數,讓它使用上述新建立的[添加/移除元素]函數;也可以直接修改調用端,改讓它們調用上述新建立的[添加/移除元素]函數.
          • ==>兩種情況下需要用到[群集設值函數];(1)群集為空時;(2)準備將原有群集替換為另一個群集時.
          • ==>你或許會想運用Rename Method(273)為[群集設值函數]改名,從setXxx()改為initializeXxx()或replaceXxx().
      • 編譯,測試.
      • 找出所有[通過取值函數(getter)獲得群集并修改其內容]的函數.逐一修改這些函數,讓它們改用[添加/移除](add/remove)函數.每次修改后,編譯并測試.
      • 修改完上述所有[通過取值函數(getter)獲得群集并修改群集內容]的函數后,修改取值函數自身,使它返回該群集的一個只讀映件(read-only view).
          • ==>在Java 2中,你可以使用Collection.unmodifiableXxx()得到該集群的只讀映件.
          • ==>在Java 1.1中,你應該返回群集的一份拷貝.
      • 編譯,測試.
      • 找出取值函數(getter)的所有用戶,從中找出應該存在于[群集之宿主對象(host object)]內的代碼.運用Extract Method(110)和Move Method(142)將這些代碼移到宿主對象去.
    • 如果你使用Java 2,那么本項重構到此為止.如果你使用Java 1.1,那么用戶也許會喜歡使用枚舉(enumeration).為了提供這個枚舉,你應該這樣做.
      • 修改現有取值函數(getter)的名字,然后添加一個新取值函數,使其返回一個枚舉.找出舊取值函數的所有被使用點,將它們都改為使用新取值函數.
          • ==>如果這一步跨度太大,你可以先使用Rename Method(273)修改原取值函數的名稱;再建立一個新取值函數用以返回枚舉;最后再修改所有調用者,使其調用新取值函數.
      • 編譯,測試.
    posted on 2005-09-15 17:51 ivaneeo 閱讀(552) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 国产精品亚洲精品| 亚洲国产综合91精品麻豆| 国产v亚洲v天堂a无| 中文字幕成人免费视频| 亚洲av色影在线| 99热在线精品免费播放6| 亚洲网站在线观看| 6080午夜一级毛片免费看 | 大学生一级毛片免费看| 亚洲大尺码专区影院| 野花高清在线观看免费3中文| 亚洲狠狠ady亚洲精品大秀| 日韩在线播放全免费| 日本亚洲免费无线码| 四虎影院免费在线播放| 香蕉视频亚洲一级| 国产精品亚洲不卡一区二区三区| 未满十八私人高清免费影院| 亚洲精品你懂的在线观看| 秋霞人成在线观看免费视频| 亚洲成av人片在线看片| 插B内射18免费视频| 理论片在线观看免费| 亚洲欧洲国产精品香蕉网| 日本视频免费高清一本18| 亚洲宅男天堂a在线| 日韩视频免费在线| 久久九九免费高清视频| 99亚洲精品高清一二区| 操美女视频免费网站| 国产成人精品免费大全| 亚洲系列国产精品制服丝袜第| 成年私人影院免费视频网站| 一级毛片免费观看不收费| 亚洲一本综合久久| 免费看大美女大黄大色| 97在线免费观看视频| 亚洲色中文字幕在线播放| 一本久久a久久精品亚洲| 国产91色综合久久免费分享| 老子影院午夜伦不卡亚洲|