介面卡模式

2021-08-07 07:07:48 字數 877 閱讀 2141

定義:將乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作

target 目標角色:期望的類/介面

adaptee 源角色:無法匹配的類/介面 需要被轉換

adapter介面卡:把源角色轉換為目標角色

inte***ce

target

class

concretetarget

implements

target

}class

adaptee

}//將adaptee類轉換為target介面

class

adapter

extends

adaptee

implements

target

}public

class

test

}

優點

讓原本兩個互不相關的類一起執行

客戶端可以呼叫同一介面,因而對客戶端來說是透明的。這樣做更簡單、更直接、更緊湊。

提高類的復用度

靈活性好。如果不需要適配,不影響其他的類

應用:1、系統需要使用現有的類,而這些類的介面不符合系統的介面。

2、想要建立乙個可以重用的類,用於與一些彼此之間沒有太大關聯的一些類,包括一些可能在將來引進的類一起工作。

3、兩個類所做的事情相同或相似,但是具有不同介面的時候。

4、舊的系統開發的類已經實現了一些功能,但是客戶端卻只能以另外介面的形式訪問,但我們不希望手動更改原有類的時候。

介面卡模式(類介面卡 物件介面卡)

做個筆記 引用 public inte ce usb public inte ce psp public class usber implements usb 類介面卡 psp適用usb介面 public class usbadapter extends usber implements psp 物...

介面卡模式 預設介面卡,類介面卡,物件介面卡

模式思想 改變乙個類的對外介面 增加或減少 以滿足不同外部呼叫者的需求 角色成員 目標介面 target 客戶所期待的介面。目標可以是具體的或抽象的類,也可以是介面。需要適配的類 adaptee 需要適配的類或適配者類。介面卡 adapter 通過包裝乙個需要適配的物件,把原介面轉換成目標介面。適配...

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...