設計模式 Adapter

2021-04-24 23:21:22 字數 515 閱讀 1940

意圖:使控制範圍之外的乙個原有物件與某個介面匹配。

問題:系統的資料和行為都正確,但介面不符。通常用於必須從抽象類派生時。

實現:將原有類包含在另一類中。讓包含類與需要的介面匹配,呼叫被包容類的方法。

adapter模式有兩種型別:

物件adapter模式:依賴於乙個物件(適配物件),包含另乙個物件(被適配物件)。

類adapter模式:通過多重繼承實現。

類adapter模式工作原理:

建立乙個新類,該類同時從兩個類繼承:

從定義其介面的抽象類公開繼承;從訪問其實現的原有類私有繼承。

facade模式與adapter模式之間的區別:

1、都存在既有的類

2、facade模式無須按某個介面進行設計;而在adapter模式中,則必須按某個特定的介面進行設計。

3、facade模式不需要多型;adapter模式多型行為可能是需要的

4、facade模式動機是簡化介面;adapter模式必須遵循乙個已有的介面,不能簡化任何東西。

設計模式 Adapter

adapter設計模式本身並沒有什麼特別,直觀地說就是介面封裝,在使用到第三方庫時我們常常用到,第三方庫提供的介面過於全面,引數過多,在我們實際應用中可能不會用到,通過進一步封裝,提供很好的實際介面。class target class adapter class adaptee 基本上就是三個類協...

設計模式 Adapter

類adapter include using namespace std class cadaptee virtual cadaptee public void func1 virtual ctarget public virtual void func 0 class cadapter publi...

Adapter 設計模式

1.介面卡模式的定義 1 類介面卡 類的介面卡模式把適配的類的api轉換成為目標類的api uml圖 類介面卡總結 1.類介面卡使用物件繼承的方式,是靜態的定義方式 2.對於類介面卡,介面卡可以重定義adaptee的部分行為 3.對於類介面卡,僅僅引入了乙個物件,並不需要額外的引用來間接得到adap...