設計模式之介面卡模式

2022-07-17 07:09:10 字數 790 閱讀 8886

介面卡模式是將乙個類的介面,轉換成客戶期望的另乙個介面,使得原來因為介面不相容的類能夠在一起工作。

它由下面四個元件構成:

通常情況下,將被適配者的類作為物件組合在介面卡adapter類中,同時,介面卡adapter類實現了目標介面target,完成修改目標介面,包裝被適配者。

採用組合方式的介面卡稱為物件介面卡。把被適配者作為乙個物件組合到介面卡類中,以修改目標介面包裝被適配者。

採用繼承方式的介面卡稱為類介面卡。通過多重繼承不相容介面,實現對目標介面的匹配,單一的為某個類實現適配。**可重用性低。

當然,介面卡模式也有變體,例如下面的例子:

用乙個抽象的介面卡類來實現目標類的介面,具體的介面卡繼承了該抽象介面卡。有兩個具體的類impl1和impl2實現了被適配者的介面。這樣具體的介面卡就能適配者兩個類了。

透明通過介面卡,客戶端可以呼叫同一介面,因而對客戶端是透明的,這樣更加的簡單透明,直接。

**重用

復用的現存的類,解決了現存類與復用環境要求不一致的問題。

低耦合將目標類與被適配者類解耦,通過引入乙個介面卡類重用現存的乙個被適配者類,無需修改原來的**。

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...

設計模式之 介面卡模式

1,介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作 2,介面卡模式有兩種 1 類的介面卡模式 介面卡類繼承源類 這樣介面卡類就繼承了源類有的方法 並實現目標介面,實現在源類中沒有而在介面中有的方法,從而實現介面卡類有目標介面的所有方...

設計模式之介面卡模式

介面卡模式定義 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。簡單定義 封裝物件,並提供不同的介面。簡單例子 鴨子介面 package headfirst.adapter.ducks public inte ce duck 具體鴨子 package headfi...