設計模式之介面卡模式

2021-10-11 02:29:24 字數 1045 閱讀 5221

五、**實現

介面卡模式(adapter)的定義如下:將乙個類的介面轉換成客戶希望的另外乙個介面,使得原本由於介面不相容而不能一起工作的那些類能一起工作。

介面卡模式分為類結構型模式物件結構型模式兩種,前者類之間的耦合度比後者高,且要求程式設計師了解現有元件庫中的相關元件的內部結構,所以應用相對較少些。

優點:

缺點:

1) 以前開發的系統存在滿足新系統功能需求的類,但其介面同新系統的介面不一致。

2) 使用第三方提供的元件,但元件介面定義和自己要求的介面定義不同。

主要就是介面卡和適配者之間的關係,類結構型模式的介面卡需要繼承適配者,而物件結構型模式的介面卡和適配者的關係是聚合關係,即乙個介面卡可以包含乙個或多個適配者,具體可以看看下面的**實現差異。

目標介面

public

inte***ce

適配者

public

class

android

}

介面卡

1) 類介面卡

此處類介面卡繼承了適配者(android),故可以直接呼叫適配者方法,**如下:

public

class

classadapter

extends

android

implements

}

2)物件介面卡

由於沒有繼承適配者,因而需要定義乙個適配者物件,從而呼叫適配者方法,**如下:

public

class

objectadapter

implements

}

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

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

設計模式之 介面卡模式

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

設計模式之介面卡模式

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