介面卡模式,即把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作。例如:筆記本的電源介面卡、二腳轉三腳的電源插座等等。
介面卡分成兩種形式,分別是類的介面卡模式和物件的介面卡模式,它們的結構圖如下圖所示:
實現原始碼:(由於個人rational rose用的不熟,可能**與上圖有點差異)
類的介面卡模式:
package adapter;
public class adaptee
}package adapter;
public inte***ce target
package adapter;
public class adapter extends adaptee implements target
}
物件介面卡模式:
package adapter;
public inte***ce target2
package adapter;
public class adaptee2
}package adapter;
public class adapter2 implements target
@override
public string method1()
@override
public string method2()
}
什麼情況下使用介面卡模式:
1 系統需要使用現有的類,而此類的介面不符合系統的需要
2 想要簡歷乙個可以重複使用的類,用於與一些配詞之間沒有太大關聯的一些類,包括一些可能在將來引進的類 一起工作。
3 在設計裡,需要改變多個已有的子類的介面,如果使用類的介面卡,就要針對每乙個子類做乙個介面卡類,而這不太實際。
介面卡模式(類介面卡 物件介面卡)
做個筆記 引用 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...