<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-從地獄中重生
    主站蜘蛛池模板: 国产一级淫片免费播放| 久久被窝电影亚洲爽爽爽| 亚洲精品无码久久久久久久| 丁香花在线观看免费观看图片| 四虎影视在线永久免费观看| 精品久久亚洲一级α| 二个人看的www免费视频| 亚洲福利精品一区二区三区| 亚洲美女aⅴ久久久91| 曰批全过程免费视频免费看| 免费在线观看一级片| 日本免费一区二区三区最新vr| 亚洲精品福利你懂| 久久久www成人免费毛片| 亚洲综合精品伊人久久| 成人爽A毛片免费看| 亚洲6080yy久久无码产自国产| 性无码免费一区二区三区在线 | 国产免费人成视频尤勿视频| 亚洲AV永久无码精品一区二区国产| 色一情一乱一伦一视频免费看| 亚洲国产成人精品无码久久久久久综合| 免费毛片毛片网址| 亚洲精品成人片在线播放| 久久青草精品38国产免费| 亚洲制服丝袜在线播放| 国产成人在线免费观看| 黄色视频在线免费观看| 亚洲黄色在线观看网站| 成人性生交大片免费看无遮挡 | 国产精品免费高清在线观看 | 亚洲欧美国产国产一区二区三区 | 无套内谢孕妇毛片免费看看| 免费观看午夜在线欧差毛片| 久久免费观看视频| 亚洲国产日韩在线成人蜜芽| 国产在线19禁免费观看| 成人影片一区免费观看| 亚洲中文字幕久久精品无码APP| 久久免费线看线看| 亚洲国产欧美一区二区三区|