介面卡模式是作為兩個不相容的介面之間的橋梁。把乙個類的藉口轉換成客戶端所期待的另一種介面,從而使原介面不匹配而無法在一起工作的兩個類能在一起工作。
介面卡模式的幾個要素
目標(ctarget):定義乙個客戶端使用的特定介面。
客戶(cclient):使用目標介面,與和目標介面一致的物件合作。
被適配者(cadaptee):乙個現存需要匹配的介面。
介面卡(cadapter):負責將cadaptee的介面轉換成ctarget的介面。介面卡是乙個具體的類,這是本模式的核心。由此可見,但客戶端呼叫adapter介面時候,adapter便會呼叫adaptee的操作相應請求,該模式就完成了介面的適配過程。
優勢和缺陷
介面卡模式可以將乙個類的介面和另乙個類的介面匹配起來,使用的前提是你不能或不想修改原來的介面卡母介面。例如,你向第三方購買了一些類、控制項,但沒有源程式,這時,使用介面卡模式,你可以統一物件訪問介面,但客戶呼叫可能需要變動。
適用場景
當呼叫雙方都不太容易修改的時候,為了復用現有組建可以使用介面卡模式,在系統中接入第三方元件的時候經常被使用到。
注意
如果系統中存在過多的介面卡,會增加系統的複雜性,設計人員應考慮對系統進行重構。
介面卡模式(類介面卡 物件介面卡)
做個筆記 引用 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...