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

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

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

    ivaneeo's blog

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

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    作法(Mechanics)
      • 檢查source class定義之source method所使用的一切特性(features),考慮它們是否也該被搬移。
          • ==》如果某個(gè)特性只被你打算搬移的那個(gè)函數(shù)用到,你應(yīng)該將它一并搬移。如果另有其他函數(shù)使用了這個(gè)特性,你可以考慮將使用該特性的所有函數(shù)全部一并搬移。有時(shí)侯搬移一組函數(shù)比逐一搬移簡(jiǎn)單些。
      • 檢查source class的subclass和superclass,看看是否有該函數(shù)的其他聲明。
          • ==》如果出現(xiàn)其他聲明,你或許無法進(jìn)行搬移,除非target class也同樣表現(xiàn)出多態(tài)性(polymorphism)。
      • 在target class中聲明這個(gè)函數(shù)。
          • ==》你可以為此函數(shù)選擇一個(gè)新名稱 -- 對(duì)target class更有意義的名稱。
      • 將source method的代碼拷貝到target method中。調(diào)整后者,使其能在新家中正常運(yùn)行。
          • ==》如果target method使用了source特性,你得決定如何從target method引用source object。如果target class中沒有相應(yīng)的引用機(jī)制,就把source object reference當(dāng)作參數(shù),轉(zhuǎn)給新建立的target method。
          • ==》如果source method包含異常處理式(exception handler),你得判斷邏輯上應(yīng)該由哪個(gè)class來處理這一異常。如果應(yīng)該由source class來負(fù)責(zé),就把異常處理式留在原地。
      • 編譯target class。
      • 決定如何從source正確引用target object。
          • ==》可能會(huì)有一個(gè)現(xiàn)成的值域或函數(shù)幫助你取得target object。如果沒有,就看能否輕松建立一個(gè)這樣的函數(shù)。如果還是不行,你得在source class中新建一個(gè)新值域來保存target object。這可能是一個(gè)永久性修改,但你也可以讓它保持暫時(shí)的地位,因?yàn)楹罄^的其他重構(gòu)項(xiàng)目可能會(huì)把這個(gè)新建值域去掉。
      • 修改source method,使之成為一個(gè)delegating method(純委托函數(shù))。
      • 編譯,測(cè)試。
      • 決定[刪除source method]或?qū)⑺?dāng)作一個(gè)delegating method保留下來。
          • ==》如果你經(jīng)常要在source object中引用target method,那么將source method作為delegating method保留下來會(huì)比較簡(jiǎn)單。
      • 如果你移除source method,請(qǐng)將source class中對(duì)source method的所有引用動(dòng)作,替換為[對(duì)target method的引用動(dòng)作]。
          • ==》你可以每修改一個(gè)引用點(diǎn)就編譯并測(cè)試一次。也可以通過一次[查找/替換]改掉所有引用點(diǎn),這通常簡(jiǎn)單一些。
      • 編譯,測(cè)試。
    posted on 2005-08-30 10:51 ivaneeo 閱讀(161) 評(píng)論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 99久久久国产精品免费无卡顿| 四虎成人精品在永久免费| 丁香婷婷亚洲六月综合色| 日韩视频免费在线| 久青草视频在线观看免费| 亚洲女人影院想要爱| 免费a在线观看播放| 91在线手机精品免费观看| 亚洲精品人成网线在线播放va | 久久国产高潮流白浆免费观看| jiz zz在亚洲| 亚洲理论电影在线观看| 成人影片麻豆国产影片免费观看| 乱人伦中文视频在线观看免费| 亚洲色欲或者高潮影院| 亚洲精品成人久久久| 亚洲精品免费网站| 亚洲视频在线免费| 一本色道久久88—综合亚洲精品| 伊人亚洲综合青草青草久热| 成人免费看吃奶视频网站| 国产婷婷成人久久Av免费高清 | 区久久AAA片69亚洲| 国色精品卡一卡2卡3卡4卡免费| 一级片在线免费看| 亚洲日韩精品国产3区| 亚洲AV美女一区二区三区| 免费爱爱的视频太爽了 | 久久精品亚洲福利| 67194成是人免费无码| 色播在线永久免费视频网站| 另类专区另类专区亚洲| 亚洲人成人77777在线播放| 国产亚洲精品xxx| 亚洲精品无码你懂的网站| 成人免费无码大片a毛片软件| 无码少妇精品一区二区免费动态| 全部一级一级毛片免费看| 亚洲爆乳无码精品AAA片蜜桃| 亚洲乱人伦精品图片| 噜噜噜亚洲色成人网站∨|