全面理解設計模式之介面卡模式

2021-09-26 03:38:52 字數 1136 閱讀 7419

什麼是介面卡模式,它能做什麼?下面是比較官方的解釋。

介面卡模式(adapter pattern)是作為兩個不相容的介面之間的橋梁。將乙個類的介面轉換成客戶希望的另外乙個介面,使原本由於介面不相容而不能一起工作的類可以一起工作。

個人比較喜歡看**,所以我希望有乙個**閱讀器(target)能夠直接閱讀。

public

inte***ce

reader

但是我只找到了起點**閱讀器(adaptee),而且和我想象的不太一樣。

public

class

qidianreder

}

我期望直接read,而不是類似於qidianreder的startreadtime。但是可以通過這個介面來做一些事情。所以可以來定製乙個屬於我私人的閱讀器(就是類圖中的介面卡-----adapter)。

public

class

myreader

implements

reader

@override

public

void

read

(string novelname)

}

然後就開始使用這個介面卡(客戶端呼叫)

其實就是實現一下期望的介面,在介面中呼叫一下現有api的方法。裝飾器模式這麼看起來還是比較簡單,如何在實際專案中使用就要看是否需要,不能為了設計模式而去使用設計模式。

在mybatis的日誌模組中也使用到了介面卡模式,日誌的廠商有如log4j、slf4j等等。這些開發不會為了mybatis而定義介面,所以mybatis自己的介面實現類中呼叫了這些第三方日誌的介面。當然具體實現沒有這裡描述的這麼簡單,大家可以去看一下mybatis的log模組並不複雜。

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

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

設計模式之 介面卡模式

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

設計模式之介面卡模式

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