Facade模式和Adapter模式

          Posted on 2007-11-21 13:03 game of programming 閱讀(661) 評(píng)論(0)  編輯  收藏 所屬分類: Design Pattern
          從包裝(Wrapper)的層次上來(lái)看,F(xiàn)acade模式和Adapter模式都是使用一個(gè)中間類來(lái)包裝所需要的或者規(guī)定的接口,而不是直接調(diào)用原有子系統(tǒng)所提供的接口。那么這兩種模式有什么區(qū)別和聯(lián)系呢?
          1 從所包裝的對(duì)象或者子系統(tǒng)來(lái)說(shuō):Facade模式和Adapter模式都需要對(duì)一個(gè)現(xiàn)成的對(duì)象進(jìn)行包裝。但是Facade模式所提供的功能只是子系統(tǒng)所提供功能的子集,即Client只使用子系統(tǒng)的部分功能,而不需要全部功能。Adapter模式則可能提供子系統(tǒng)所有功能或者部分功能。
          2 從模式向上所提供的接口來(lái)說(shuō):在Facade模式中,無(wú)需按照某種已有規(guī)則對(duì)接口舉行定義,只是向上提供盡可能簡(jiǎn)單的接口;而在Adapter模式中,Adapter向上所提供的接口必須按照已有規(guī)則進(jìn)行定義(在大多數(shù)情況下,為了保持多態(tài)性),即便是有更可能簡(jiǎn)單的接口。
          從以上兩方面可以看出,F(xiàn)acade模式的目的就是在于盡可能的簡(jiǎn)化接口;而Adapter模式則是把不符合定義規(guī)則的接口轉(zhuǎn)換成符合定義規(guī)則的接口。

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


          網(wǎng)站導(dǎo)航:
           

          posts - 2, comments - 1, trackbacks - 0, articles - 5

          Copyright © game of programming

          主站蜘蛛池模板: 靖州| 陆河县| 观塘区| 青冈县| 铜川市| 黑水县| 萍乡市| 中超| 中西区| 包头市| 呼和浩特市| 吉安市| 贡觉县| 承德县| 丹巴县| 罗江县| 塘沽区| 山阴县| 临沧市| 石家庄市| 新泰市| 井研县| 巴青县| 即墨市| 弥渡县| 卫辉市| 绵阳市| 福清市| 菏泽市| 邳州市| 清远市| 东明县| 安泽县| 海晏县| 原平市| 忻城县| 朔州市| 全州县| 房山区| 平南县| 三河市|