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

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

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

    ivaneeo's blog

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

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    作法(Mechanics)
      • 如果field的屬性是public,首先使用Encapsulate Field(206)將它封裝起來(lái)。
          • ==》如果你有可能移動(dòng)那些頻繁訪問(wèn)該field的函數(shù),或如果有許多函數(shù)訪問(wèn)某個(gè)field,先使用Self Encapsulate Field(171)也許會(huì)有幫助。
      • 編譯,測(cè)試。
      • 在target class中建立與source field相同的field,并同時(shí)建立相應(yīng)的設(shè)值/取值(setting/getting)函數(shù)。
      • 編譯target class。
      • 決定如何在source object中引用target object。
          • ==》一個(gè)現(xiàn)成的field或method可以助你得到target object。如果沒(méi)有,就看能否輕易建立這樣一個(gè)函數(shù)。如果還不行,就得在source class中新建一個(gè)field來(lái)存放target object。這可能是個(gè)永久性修改,但你也可以暫不公開(kāi)它,因?yàn)楹罄m(xù)重構(gòu)可能會(huì)把這個(gè)新建field除掉。
      • 刪除source field。
      • 將所有[對(duì)source field的引用]替換為[對(duì)target適當(dāng)函數(shù)的調(diào)用]。
          • ==》如果是[讀取]該變量,就把[對(duì)source field的引用]替換為[對(duì)target取值函數(shù)(getter)的調(diào)用];如果是[賦值]該變量,就把[對(duì)source field的引用]替換成[對(duì)設(shè)值函數(shù)(setter)的調(diào)用]。
          • ==》如果source field不是private,就必須在source class的所有subclasses中查找source field的引用點(diǎn),并進(jìn)行相應(yīng)替換。
      • 編譯,測(cè)試。
    posted on 2005-08-30 14:31 ivaneeo 閱讀(155) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): refactoring-從地獄中重生
    主站蜘蛛池模板: 亚洲AV无码码潮喷在线观看| 秋霞人成在线观看免费视频| 亚洲免费在线视频播放| 亚洲小说区图片区另类春色| 国产美女精品久久久久久久免费 | 免费看国产精品麻豆| 成年人视频免费在线观看| 国产午夜成人免费看片无遮挡| 午夜亚洲国产精品福利| 一本色道久久88亚洲精品综合 | 美女的胸又黄又www网站免费| 亚洲六月丁香婷婷综合| 亚洲国产精品yw在线观看| 亚洲国产精品久久久久网站| 亚洲中文久久精品无码| 亚洲国产主播精品极品网红| 国产一级大片免费看| 国产精品无码素人福利免费 | 亚洲av永久中文无码精品综合 | 卡一卡二卡三在线入口免费| 桃子视频在线观看高清免费完整 | 亚洲综合一区二区精品久久| 无码乱人伦一区二区亚洲一| 亚洲精品无码午夜福利中文字幕| 国产L精品国产亚洲区久久| 免费一区二区三区四区五区| 亚洲av麻豆aⅴ无码电影| 高清在线亚洲精品国产二区| 亚洲av无码成人精品区在线播放| www.亚洲精品.com| 国产精品亚洲综合一区| 国产亚洲成人在线播放va| 国产精品亚洲综合一区| 亚洲国产精品无码中文字| 亚洲va久久久噜噜噜久久狠狠| 久久亚洲国产精品一区二区| 亚洲春色在线视频| 亚洲视频在线免费播放| 亚洲国产高清在线精品一区| 国产亚洲精品成人AA片| 在线观看免费亚洲|