01介面卡模式

2021-08-04 11:45:09 字數 1097 閱讀 8570

介面卡模式:

功能上講這些介面不相容的類一般具有相同或相似的功能。通常通過修改該類的介面來解決介面不相容的情形,但是又不願意為了乙個應用而修改各原有的介面,或者根本沒有原有物件源**。

例子:

如果類a需要某些功能(乙個xml讀取模組),需要實現xmlreader介面,另乙個類b剛好有這個功能,但是b實現的介面是readerxml。適配**如下:

public

inte***ce

xmlreader

public

inte***ce

readerxml

public

class

adapter

implements

xmlreader

}

介面卡模式涉及的角色:

目標,客戶,被適配者,介面卡。目標(ctarget):定義乙個客戶端的特定介面。客戶(cclient):使用目標介面,與和目標介面一致的物件合作。被適配者(cadaptee):乙個現存需要匹配的介面。介面卡(cadapter):負責將介面卡的介面轉換為目標的介面。總之,cclient呼叫cadapter介面時,cadapter會呼叫cadaptee的操作相應請求,該模式就完成了介面的適配過程。

介面卡模式優勢和缺陷:

可以將乙個類的介面和另乙個類的介面匹配起來,使用的前提是你不能或不想修改原來的介面卡母介面。例如,向第三方購買了一些類、控制項,但是沒有源程式,可以使用介面卡模式統一物件訪問介面,但客戶呼叫可能需要變動。

何時使用介面卡模式:

使用乙個已經存在的類,如果它的介面,方法和你的要求不相同的時候,可以考慮介面卡模式。內部一般前期不用介面卡,如果用第三方開發元件的話可以考慮適配。

介面卡總體分為類介面卡和物件介面卡:

類介面卡:1.adapter實現target介面,2.adapter通過繼承來實現對adaptee類的重用。不同點:類介面卡繼承adaptee內部呼叫方法,物件介面卡包括乙個adaptee的引用,內部呼叫引用的方法。

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

做個筆記 引用 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...