<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)
      • 如果field的屬性是public,首先使用Encapsulate Field(206)將它封裝起來。
          • ==》如果你有可能移動那些頻繁訪問該field的函數,或如果有許多函數訪問某個field,先使用Self Encapsulate Field(171)也許會有幫助。
      • 編譯,測試。
      • 在target class中建立與source field相同的field,并同時建立相應的設值/取值(setting/getting)函數。
      • 編譯target class。
      • 決定如何在source object中引用target object。
          • ==》一個現成的field或method可以助你得到target object。如果沒有,就看能否輕易建立這樣一個函數。如果還不行,就得在source class中新建一個field來存放target object。這可能是個永久性修改,但你也可以暫不公開它,因為后續重構可能會把這個新建field除掉。
      • 刪除source field。
      • 將所有[對source field的引用]替換為[對target適當函數的調用]。
          • ==》如果是[讀取]該變量,就把[對source field的引用]替換為[對target取值函數(getter)的調用];如果是[賦值]該變量,就把[對source field的引用]替換成[對設值函數(setter)的調用]。
          • ==》如果source field不是private,就必須在source class的所有subclasses中查找source field的引用點,并進行相應替換。
      • 編譯,測試。
    posted on 2005-08-30 14:31 ivaneeo 閱讀(154) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 日韩一区二区在线免费观看| 色婷婷7777免费视频在线观看| 黄页免费的网站勿入免费直接进入| 国产成人无码免费网站| 亚洲AV日韩AV永久无码下载| 日韩精品极品视频在线观看免费| 国产精品久久久久久亚洲影视| 日韩精品无码区免费专区| 亚洲一卡2卡4卡5卡6卡在线99| 日韩免费在线观看| 香蕉视频亚洲一级| 亚洲中文久久精品无码ww16| 成人爽A毛片免费看| 成年黄网站色大免费全看| 又黄又大的激情视频在线观看免费视频社区在线 | 香蕉视频在线免费看| 亚洲天堂免费在线视频| 亚洲av成人一区二区三区在线观看| 亚洲精品无码专区在线播放| 国产精品极品美女免费观看| 国产精品网站在线观看免费传媒 | 国产精品无码免费专区午夜| 在线观看免费视频资源| 国产一区二区三区在线免费观看| 久久亚洲免费视频| 美女被暴羞羞免费视频| 一本无码人妻在中文字幕免费| 亚洲精品国产精品乱码不卡| 亚洲熟妇无码另类久久久| 亚洲伊人久久成综合人影院| 日本午夜免费福利视频| 免费一级成人毛片| 老汉色老汉首页a亚洲| 久久亚洲精品成人av无码网站 | a级毛片在线免费| 水蜜桃视频在线观看免费| 久久久亚洲裙底偷窥综合| 亚洲人JIZZ日本人| 亚洲色偷拍另类无码专区| 亚洲国产成人精品女人久久久 | 在线观看国产区亚洲一区成人 |