介面卡模式

2021-07-24 02:43:09 字數 1040 閱讀 7235

3、介面卡模式

將乙個類的介面轉換成客戶希望的另乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以在一起工作。

模式中有三個角色:

l  需要適配的類(adaptee):需要適配的類。

l  介面卡(adapter):通過包裝乙個需要適配的物件,把原介面轉換成目標介面。

l  目標介面(target):客戶所期待的介面。可以是具體的或抽象的類,也可以是介面

//需要適配的類

class adaptee

}//目標介面

inte***ce target

//具體目標類,只提供普通功能

class concretetarget implements target

}3.1

類的介面卡模式:

//介面卡類,adaptee為需要適配的類   target為目標介面。

class adapter extends adaptee implements target

}//測試類

public static void main(string args)

3.2 

物件介面卡:

//介面卡類是實現的標準介面

class adapter implements target

public void request()

}//測試類

public class client

}優點:通過介面卡,客戶端可以呼叫統一介面;復用了現存的類,解決了現存類或復用環境要求不一致的問題;將目標類和介面卡解耦,通過引入乙個介面卡類重用現有的適配者類,而無須修改原有**;乙個物件介面卡可以把多個不同的適配者類適配到同乙個目標。

使用場景:

系統需要使用現有的類,但是這些類的介面不符合系統的介面;想要建立乙個可以重用的類,用於與一些彼此之間沒有太大聯絡的一些類,包括一些將來可能在一起工作的類;兩個類所做的事情相同或者類似,但是具有不同介面的時候;使用第三方元件,元件介面定義和自己定義的不同,不希望修改自己的介面,但是要使用第三方元件介面的功能。

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

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