設計模式 介面卡模式

2021-09-10 04:21:41 字數 1700 閱讀 6996

介面卡模式定義:通過乙個類的介面轉換成使用者希望的另乙個介面,使原本由於介面不相容而不能一起工作的那些類可以一起工作。介面卡模式可以分為類介面卡和物件介面卡,類介面卡使用繼承關係來對類進行適配,物件介面卡使用物件引用來進行適配。

介面卡模式圖:

介面卡模式參與者;

target:client所使用的目標介面,可以是介面或者抽象類。

adaptee:需要適配的類的介面。

adapter:介面卡,負責adaptee的介面與target介面進行適配。

client:與符合target介面的物件協調的類。

類介面卡模式**示例:

package com.tian.adapter;

/** * ps2介面

* @author administrator

* */

public inte***ce ps2

package com.tian.adapter;

public inte***ce usb

package com.tian.adapter;

public class usbimpl implements usb

}

package com.tian.adapter;

/** * 介面卡

* @author administrator

* */

public class adapterclass extends usbimpl implements ps2

}

package com.tian.adapter;

public class client

}

說明:

這裡是將ps2插口轉為usb插口進行示例的。ps2介面是ps2插口的格式規定,usb介面是usb插口的格式規範,usbimpl類是usb介面的具體實現,adapter類是將ps2插口轉為usb插口的實現過程。

物件介面卡模式**示例:

還是基於ps2插口轉usb插口示例,這裡只需要修改下介面卡類就可以實現物件介面卡模式,如下:

package com.tian.adapter;

public class adapterobject implements ps2

@override

public void ps2()

}

說明:

這裡的介面卡類有乙個有參的建構函式,通過這個建構函式將物件傳入介面卡類。

介面卡模式有點:

1、將目標類和適配者類解耦,通過引入乙個介面卡來服用現有的邏輯,無需修改。

2、增加類的透明性和復用性,將具體的業務實現過程封裝在適配者勒種,對於使用者而言是透明的,統一個適配者類可以在多個不同的系統中使用

3、靈活性和擴充套件性非常好,

介面卡模式的缺點:

1、一次只能適配乙個適配者類,不同同時適配多個適配者

2、太多的介面卡會使得**顯得有點凌亂

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。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...