<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 閱讀(747) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 亚洲天堂一区二区| 亚洲国产人成中文幕一级二级| 亚洲国产AV无码专区亚洲AV| 国产成人亚洲毛片| 国产免费私拍一区二区三区| 久久精品国产亚洲av天美18| 成年丰满熟妇午夜免费视频| 亚洲一本到无码av中文字幕| 成人黄动漫画免费网站视频| 国产v亚洲v天堂a无| 日本妇人成熟免费中文字幕| 亚洲一线产品二线产品| 国产国产成年年人免费看片| 狼色精品人妻在线视频免费| 亚洲国产一区视频| 永久免费不卡在线观看黄网站| 亚洲成人在线电影| 成人女人A级毛片免费软件| 亚洲色少妇熟女11p| 亚洲Av无码乱码在线znlu| fc2成年免费共享视频18| 亚洲av日韩av天堂影片精品| jjizz全部免费看片| 亚洲人成人伊人成综合网无码| 免费在线黄色网址| 四虎影视在线影院在线观看免费视频 | 在线观看免费视频资源| 亚洲综合色7777情网站777| 大学生a级毛片免费观看| 男人和女人高潮免费网站| 亚洲成色在线综合网站| 曰批视频免费30分钟成人| 99亚洲乱人伦aⅴ精品| 亚洲欧洲国产精品香蕉网| xxxxx免费视频| 特级做a爰片毛片免费看| 亚洲AV午夜成人影院老师机影院| 免费大片黄在线观看yw| 又大又硬又粗又黄的视频免费看 | 国产精品色午夜视频免费看| 久久久久久久久久免免费精品 |