java設計模式 介面卡模式三

2021-08-01 03:36:56 字數 1271 閱讀 5577

介紹:由名字可知,該介面卡既可以將目標介面適配成被適配者,也可以將被適配者適配成目標介面(前者其實只是將目標介面與被適配者介面角色互換)

定義:在物件介面卡的使用過程中,如果在介面卡中同時包含對目標類和適配者類的物件引用(即同時依賴於被適配者類和目標介面),適配者可以通過呼叫目標介面中的方法,目標介面也可以通過它呼叫適配者類中的方法,那麼該介面卡就是乙個雙向介面卡。

以下是關於雙向介面卡的**示例:

public

inte***ce

duck //目標介面(因為在雙向介面卡模式的情況下,所以他同時也是被適配者)

public

class

concreteduck

implements

duck //目標介面的具體實現類(也可以說是被適配者介面的具體實現類——因為他可以有兩種不同的角色:被適配者或者介面)

public

void

dfly()

}public

inte***ce

turkey

public

class

wildturkey

implements

turkey

public

void

tfly()

}public

class

adapter

implements

duck,turkey //雙向介面卡,既實現了目標介面,又實現了被適配者介面(其實也是目標介面)

public

void

quack()

public

void

dfly()

public

adapter(turkey turkey) //此時代表duck介面是目標介面,將turkey物件進行適配

public

void

speak()

public

void

tfly()

}public

class

client

public

void

testduck(duck duck) //說明客戶想要測試duck類

}public

class

test

}

JAVA設計模式 介面卡模式

介面卡模式 要點 1 介面卡模式主要應用於 希望復用一些現存的類,但是介面又與復用環境要求不一致的情況 在遺留 復用 類庫遷移等方面非常有用。2 介面卡模式有物件介面卡和類介面卡兩種形式的實現結構,但是類介面卡採用 多繼承 的實現方式,帶來了不良的高耦合,所以一般不推薦使用。物件介面卡採用 物件組合...

java設計模式 介面卡模式

介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。用電器做例子,膝上型電腦的插頭一般都是三相的,即除了陽極 陰極外,還有乙個地極。而有些地方的電源插座卻只有兩極,沒有地極。電源插座與膝上型電腦的電源插頭不匹配使得膝上型電腦無法使用。...

Java設計模式 介面卡模式

目錄 介面卡模式的個人理解 轉換方法 介面卡模式的定義 通用類圖 角色定義 target目標角色 adaptee源角色 adapter介面卡角色 通用源 介面卡模式的優點 首先有乙個目標角色 乙個源角色還有乙個介面卡角色。我們要做的就是利用介面卡角色將源角色轉換為目標角色。而目標角色是乙個正在良好執...