定義
介面卡模式把乙個類的介面轉換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的的兩個類能夠在一起工作
使用場景
系統需要使用現有的類,而此類的介面不符合系統的需要,即介面不相容
想要建立乙個可以重複使用的類,用於與一些彼此之間沒有太大關聯的一些類,包括一些可能在將來引進的類一起工作
需要乙個統一的輸出介面,而輸入端的型別不可預知
關鍵點
乙個目標角色—所期待得到的介面
乙個需要被轉換的角色—需要適配的介面
介面卡角色—把源介面轉換成目標介面,不可以是介面,只能是類。
實現
以電壓轉換為例
/**
* 目標介面角色—需要的5伏電壓
*/public
inte***ce
fivevolt
/**
* 需要被轉換角色
*/public
class
volt220
}
/**
* 介面卡角色—將220伏電壓轉換成需要的5伏電壓
*/public
class
voltadapter
implements
fivevolt
@override
public
intgetvolt5()
}
使用
voltadapter adapter = new voltadapter(new volt220());
adapter.getvolt5();
小結優點
更好的復用性—系統需要現有的類,而此類的介面不符合系統的需要,通過介面卡模式就可以讓這些功能得到更好的復用性
更好的擴充套件性—在實現介面卡功能的時候,可以呼叫自己克發的功能,從而自然的擴充套件系統的功能
缺點過多的使用介面卡,會讓系統非常凌亂,不易整體把握。
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。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...