Facade模式和Adapter模式

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

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


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

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

          Copyright © game of programming

          主站蜘蛛池模板: 临泉县| 新郑市| 应城市| 阆中市| 达孜县| 常山县| 女性| 河源市| 宣威市| 蓬溪县| 定结县| 西乡县| 城步| 沙田区| 常熟市| 南宫市| 西青区| 工布江达县| 榆中县| 南江县| 金乡县| 邹平县| 汾阳市| 金昌市| 剑河县| 德惠市| 南华县| 安吉县| 靖远县| 枝江市| 阿拉善右旗| 两当县| 会昌县| 得荣县| 东乡| 新巴尔虎左旗| 璧山县| 阳山县| 聂拉木县| 曲周县| 北票市|