介面卡模式

2021-07-02 02:20:52 字數 1152 閱讀 4611

定義:將乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。介面卡模式又叫變壓器模式,也叫包裝模式,裝飾模式也是包裝模式。

介面卡有三個角色:

1.target目標角色      該角色定義把其他類轉換為何種介面,也就是我們期望的介面。

2.adapter源角色       你想把誰轉換成目標角色,這個「誰」就是源角色,它是已經存在的、執行良好的類或物件,經過介面卡角色的包裝,會成為乙個嶄新、靚麗的角色。

3.adapter介面卡角色 介面卡模式的核心角色,其他兩個角色都是已經存在的角色,而介面卡角色是需要新建立的,它的職責非常簡單:通過繼承或是類關聯的方式,把源角色轉換為目標角色。

介面卡模式通用原始碼

/**

* 目標角色是乙個已經正在執行的角色,你不可能去修改角色中的方法,你能做的就是如何去實現介面中的方法,

* 通常情況下,目標角色是乙個介面或者抽象類,一般不會是實現類。

* *

*/public inte***ce target

public class concretetarget implements target

}

public class adaptee 

}

/**

* 介面卡角色

*/public class adapter extends adaptee implements target

}

public class client 

}

介面卡的優點:

1.介面卡模式可以讓兩個沒有任何關係的類在一起執行,只要介面卡這個角色能夠搞定這兩個類。

2.增加類的透明性 我們訪問的target目標角色,但是具體的實現都委託給了源角色,而這些對高層模組是透明的,也是它不需要關心的。

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...