<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
    如果你看到用戶向一個對象索求(request)另一個對象,然后再向后者索求另一個對象,然后再索求另一個對象。。。。。。這就是Message Chain。實際代碼中你看到的可能是一長串getThis()或一長串臨時變量。采取這種方式,意味客戶將與查找過程中的航行結構(structure of navigation)緊密耦合。一旦對象間的關系發生任何變化,客戶端就不得不作出相應修改。

    這時候你應該使用Hide Delegate(157)。你可以在Message Chain的不同位置進行這種重構手法。理論上你可以重構Message Chain上的任何一個對象,但這么做往往會把所有中介對象(intermediate object)都變成Middle Man.通常更好的選擇是:先觀察Message Chain最終得到的對象是用來干什么的,看看能否以Extract Method(110)把使用該對象的代碼提煉到一個獨立函數中,再運用Move Method(142)把這個函數推入Message Chain。如果這條鏈上的某個對象有多位客戶打算航行此航線的剩余部分,就加一個函數來做這件事。
    posted on 2005-08-19 15:36 ivaneeo 閱讀(743) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 中日韩亚洲人成无码网站| 亚洲AV无码乱码麻豆精品国产| 亚洲乱码日产精品一二三| 37pao成人国产永久免费视频| 亚洲色图在线观看| 精品一区二区三区免费毛片爱 | 久久九九免费高清视频| 亚洲精品亚洲人成在线观看下载| 一级毛片免费视频网站| 亚洲真人日本在线| 成在人线av无码免费高潮喷水| 亚洲成AV人在线观看天堂无码| 暖暖免费日本在线中文| 亚洲欧洲高清有无| 免费一本色道久久一区| 亚洲av无码专区在线观看亚| 午夜亚洲福利在线老司机| 国产福利免费视频 | 中文字幕中韩乱码亚洲大片| 中文在线免费不卡视频| 亚洲AV日韩AV永久无码免下载| 2021在线永久免费视频| 亚洲国产精品精华液| 亚洲男人的天堂在线va拉文| 麻豆精品不卡国产免费看| 亚洲国产精品日韩在线观看| 高清国语自产拍免费视频国产 | 久久午夜夜伦鲁鲁片免费无码影视| 亚洲av成人一区二区三区| 国产亚洲精品免费| 久久青草91免费观看| 国产成人亚洲综合网站不卡| 亚洲精品专区在线观看| 国产成人精品久久免费动漫| 国产AV无码专区亚洲AV琪琪 | 日本亚洲视频在线| 在线观看免费人成视频色9| 特级毛片aaaa免费观看| 精品无码一区二区三区亚洲桃色 | 国产小视频免费观看| a级毛片免费高清毛片视频|