介面卡模式 筆記

2021-06-20 11:16:30 字數 1043 閱讀 3363

定義:

介面卡模式是將乙個類的介面轉化成客戶希望的另外乙個介面

使得原來不能相容的類可以在一起工作

主要角色:

target:客戶端要求的目標介面

被適配角色:adaptee 需要適配的乙個現在正在使用的介面

介面卡角色:adapter 把被適配角色的介面轉換成目標介面

uml效果圖:

介面卡模式分為類介面卡模式和物件介面卡模式,區別在於實現介面卡模式的時候是使用繼承方式還是組合方式

在這裡使用物件介面卡模式來實現乙個簡單的介面卡模式

// 客戶期望的目標介面

package com.pattern.adapter;

public inte***ce target

// 被適配的類

package com.pattern.adapter;

public class adaptee

}

// 介面卡角色

package com.pattern.adapter;

public class adapter implements target

public adaptee getadaptee()

public void fly()

public void run()

}

// 測試類

package com.pattern.adapter;

public class cilent

}

結果:i can run

i can fly

優點:通過介面卡,客戶端可以呼叫同一介面,因而對客戶端來說是透明的。這樣做更簡單、更直接、更緊湊,而無需修改原有**

缺點:對於物件介面卡來說,更換介面卡的實現過程比較複雜。

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

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