隨筆 - 37  文章 - 29  trackbacks - 0


          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          最新評論

          閱讀排行榜

          評論排行榜

          ADAPTER —在朋友聚會上碰到了一個美女Sarah,從香港來的,可我不會說粵語,她不會說普通話,只好求助于我的朋友kent了,他作為我和Sarah之間的Adapter,讓我和Sarah可以相互交談了(也不知道他會不會耍我)

          個人理解,適配器模式,就是兩個水管A(Target)和C(Adaptee)接口不匹配不兼容,就拿另外一截管子B(Adapter),一頭接上原本的水管A(繼承),另一頭接上C(調(diào)用)。那么,A通過B,和C接上了。

          public interface Target {
              public void methodA();
          }
          public class Adaptee {
              public void methodB() {
                 //do something...
              }
          }
          public class Adapter extends Target {
              private Adaptee ee;
              public Adapter(Adaptee ee) {
                 this.ee = ee;
              }
              public void methodA() {  //水管C Adapter的接口
                 ee.methodB();  //實際調(diào)用了水管B Adaptee的接口
              }
          }

          Adapter和Proxy的區(qū)別:
          adapter是適配adaptee和target之間的關(guān)系,proxy是realSubject對subject的代理。
          adaptee和target無關(guān)系,realSubject和subject有繼承關(guān)系。這就是他們的區(qū)別。


          這里有篇文章很不錯,鏈接一下:
          http://yichao.blog.edu.cn/user2/yichaozhang/archives/2006/1501606.shtml

          又找到網(wǎng)上另一個見解:
          proxy 和adapter有一定類似,都是屬于一種銜接性質(zhì)的。
          區(qū)別是很明顯的,從大體上說:proxy是一種原來對象的代表,其它需要與這個對象打交道的操作都是和這個代表交涉,就象歌星的經(jīng)紀人一樣。
          adapter目的則不是要虛構(gòu)出一個代表者,而是為應(yīng)付特定使用目的,將原來的類進行一些組合。





          posted on 2008-01-31 14:28 EvanLiu 閱讀(1401) 評論(0)  編輯  收藏 所屬分類: 設(shè)計模式

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 衡阳县| 东山县| 上犹县| 安乡县| 天柱县| 白山市| 北辰区| 杨浦区| 巴林右旗| 库伦旗| 交口县| 井陉县| 宁武县| 杨浦区| 桃园市| 德钦县| 周宁县| 北票市| 长顺县| 石台县| 榆中县| 长宁区| 云龙县| 塔河县| 玉林市| 阜新| 桓台县| 德钦县| 襄汾县| 安溪县| 南丹县| 仲巴县| 桃园市| 湟源县| 台湾省| 浮山县| 丰宁| 霍州市| 三河市| 拜泉县| 汽车|