JDK中的設計模式之介面卡模式

2021-06-01 05:20:15 字數 840 閱讀 2147

使用adapter模式的意圖是將乙個類的介面轉換成客戶希望的另外乙個介面。

adapter模式使得原本由於介面不相容而不能在一起工作的那些類可以一起工作

在以下情況下比較適合使用adapter模式:1、當你想使用乙個已經存在的類,而它的介面不符合你的需求;2、你想建立乙個可以復用的類,該類可以與其他不相關的類或不可預見的類協同工作;3、你想使用一些已經存在的子類,但是不可能對每乙個都進行子類化以匹配它們的介面,物件介面卡可以適配它的父親介面。

共有兩種介面卡實現方式:物件適配模式和類介面卡模式。

在物件介面卡模式中,介面卡容納類的例項,然後介面卡再呼叫被包裹物件方法:

在類介面卡模式中,介面卡繼承被適配類,然後呼叫相應的方法:

參與者說明:

target:定義client使用的與特定領域相關的介面。

client:與符合target介面的物件的協同。

adaptee:定義乙個已經存在的介面,這個介面需要適配。

adapter:對adaptee的介面與target介面進行適配。

很明顯,這幾個類用了物件介面卡模式。

介面卡模式是結構型模式中的第乙個,它的應用十分廣泛,因為平時我們除了開發新系統外還需要維護現有系統,讓現有介面滿足新的需求(即轉變介面)時一般都需要用到介面卡模式。

可以想象,如果我們的系統開發之後再也不需要維護,那麼很多模式都是沒必要的,但是不幸的是,事實卻是維護乙個系統的代價往往是開發乙個系統的數倍。軟體開發講究的高內聚低耦合就是為了降低後期維護的成本,而設計模式講究的可擴充套件性也是希望後期系統擴充套件功能時盡量不要重寫原有**,例如介面卡模式就能夠達到不重寫原來類的前提下,開發出新的介面,滿足新的需求。

所以我覺得,設計模式很重要!

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

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

設計模式之 介面卡模式

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

設計模式之介面卡模式

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