介面卡模式(adapter):將某個類的介面轉換成客戶端期望的另乙個介面表示,目的是消除由於介面不匹配所造成的類的相容性問題。
(1)目標介面(target):客戶所期待的介面,目標可以是具體的或抽象的類,也可以是介面;
(2)需要適配的類(original):需要適配的物件;
(3)介面卡(adapter):通過包裝乙個需要適配的物件,把原介面轉換成目標介面;
(1)類的介面卡模式;
(2)物件的介面卡模式;
(3)介面的介面卡模式;
* 該adapter類的目的:將original類適配到targetable介面上
*/class
adapter
extends
original
implements
targetable
}
/**
* 客戶端測試類
* 持有original類的例項
*/
class adapter implements targetable
@override
public
void
targetmethod()
@override
public
void
originmethod()
}
/**
* 客戶端測試類
* 該抽象類實現了原始介面,實現了所有的方法。
* * 空實現即可,具體實現靠子類,子類只需實現自身需要的方法即可。
* * 以後咱們就不用跟原始的介面打交道,只和該抽象類取得聯絡即可。
*/abstract class adapter implements originable
public
void
originmethod2()
}
/**
* 子類只需選擇你所需要的方法進行實現即可
*/class
originsub1
extends
adapter
} class
originsub2
extends
adapter
}
/**
* 客戶端測試類
*/public
class
test
}
(1)類的介面卡模式:當希望將乙個類轉換成滿足另乙個新介面的類時,可以使用類的介面卡模式,建立乙個新類,繼承原有的類,實現新的介面即可。
(2)物件的介面卡模式:當希望將乙個物件轉換成滿足另乙個新介面的物件時,可以建立乙個adapter類,持有原類的乙個例項,在adapter類的方法中,呼叫例項的方法就行。
(3)介面的介面卡模式:當不希望實現乙個介面中所有的方法時,可以建立乙個抽象類adapter實現所有方法,我們寫別的類的時候,繼承抽象類即可。
JAVA設計模式 介面卡模式
介面卡模式 要點 1 介面卡模式主要應用於 希望復用一些現存的類,但是介面又與復用環境要求不一致的情況 在遺留 復用 類庫遷移等方面非常有用。2 介面卡模式有物件介面卡和類介面卡兩種形式的實現結構,但是類介面卡採用 多繼承 的實現方式,帶來了不良的高耦合,所以一般不推薦使用。物件介面卡採用 物件組合...
java設計模式 介面卡模式
介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。用電器做例子,膝上型電腦的插頭一般都是三相的,即除了陽極 陰極外,還有乙個地極。而有些地方的電源插座卻只有兩極,沒有地極。電源插座與膝上型電腦的電源插頭不匹配使得膝上型電腦無法使用。...
Java設計模式 介面卡模式
目錄 介面卡模式的個人理解 轉換方法 介面卡模式的定義 通用類圖 角色定義 target目標角色 adaptee源角色 adapter介面卡角色 通用源 介面卡模式的優點 首先有乙個目標角色 乙個源角色還有乙個介面卡角色。我們要做的就是利用介面卡角色將源角色轉換為目標角色。而目標角色是乙個正在良好執...