介面卡模式

2021-08-27 21:45:17 字數 1487 閱讀 8375

介面卡模式,顧名思義,主要是解決實際類與目標類介面不一致的問題。現實生活中最典型的例子是電源介面卡,適配不同電壓,以防止損壞電器裝置。

介面卡模式分兩種一種是類介面卡模式,一種是物件介面卡模式。類介面卡模式是適配類繼承被適配類並實現目標介面,物件介面卡模式是適配類中有被適配類的成員變數。

uml類圖表示如下

類介面卡如下

物件介面卡如下

建立目標介面類target,**如下

package com.test.designermodel.adaptermodel;

public inte***ce target

建立被適配類adaptee,**如下

package com.test.designermodel.adaptermodel;

public class adaptee

}

建立類介面卡類adapterclass,**如下

package com.test.designermodel.adaptermodel;

/** * 類介面卡模式

* @author alan

* */

public class adapterclass extends adaptee implements target

}

建立物件介面卡類adapterobject,**如下

package com.test.designermodel.adaptermodel;

/** * 物件介面卡模式

* @author alan

* */

public class adapterobject implements target

public void process()

}

編寫junit測試**如下

/**

* 介面卡模式

*/@test

public void testadaptermodel()

測試結果如下

如上可以看出類介面卡模式相對與物件介面卡模式而言,類介面卡adapterclass只能適配當前被適配者adaptee,不能適配到其子類,物件介面卡adapterobject可以適配被適配者adaptee的所有子類(因為adaptee是adapterobject類中的成員變數),物件介面卡模式擴充套件性相對更好。

源**如附件

介面卡模式(類介面卡 物件介面卡)

做個筆記 引用 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...