設計模式 介面卡模式

2021-07-24 05:35:13 字數 1172 閱讀 1821

一、定義

物件介面卡類圖:

類介面卡類圖:

名詞解釋:

target目標角色

該角色定義把其他類轉換為何種介面,也就是我們期望的介面。通常情況下,目標角色一般是介面或抽象類。

adaptee源角色

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

adapter介面卡角色

介面卡模式的核心角色,其他兩個角色都是已經存在的角色,而介面卡是需要新建立的。它的職責很簡單就是將源角色轉換成目標角色,如何轉換呢?通過繼承或類關聯的方式。

二、適用場景

系統需要使用現有的類,而此類的介面不符合系統的需要,即介面不相容。

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

需要乙個統一的輸出介面,而輸入端的型別不可預知。

三、**實現

物件介面卡:

//目標角色

public

inte***ce

target

//需要轉換的角色

public

class

adaptee

}//介面卡角色

public

class

adapter

implements

target

@override

public

void

request()

}

類介面卡:

public

class

adapter

extends

adaptee

implements

target

}

四、總結

兩種介面卡的區別是:

類介面卡繼承了target和adaptee,而物件介面卡利用組合將請求傳送給被適配者。

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

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

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...

設計模式 介面卡模式

01 02 author rollen holt 設計模式之 介面卡模式 03 04 05 inte ce window 11 12 abstract class windowadapter 16 public void close 19 public void activated 22 publi...