設計模式(4)介面卡模式

2021-09-26 06:08:12 字數 1936 閱讀 1510

假如我的手機是typec型別的充電口,但是現在卻只有個傳統的microusb充電線,怎麼辦?很簡單,弄個轉換接頭,microusb口轉化成typec的,問題解決。這就是介面卡的應用。

介面卡就是個轉化適配中間介面,可以將不匹配的兩件事整合到一起,把不匹配變的匹配。

通常,介面卡有三種:類介面卡、物件介面卡。

類介面卡:繼承實現,靜態定義

物件介面卡:**實現,動態組合模式

一、類介面卡

1.1、有個傳統的micro usb的充電線

package com.cn.adapter.classadapter;

/** * 有個傳統的micro usb的充電線

* * @author cfang

* 2023年6月1日 下午4:13:01

*/public inte***ce microusb

1.2、手機充電口為typec

package com.cn.adapter.classadapter;

/** * 手機充電口為typec

* * @author cfang

* 2023年6月1日 下午4:14:28

*/public inte***ce typec

package com.cn.adapter.classadapter;

public class typecimpl implements typec

}

1.3、整個介面卡adapter,將microusb 轉化成typec

package com.cn.adapter.classadapter;

/** * 用於將microusb介面轉化成tytpec介面

* * @author cfang

* 2023年6月1日 下午4:46:28

*/public class adapter extends typecimpl implements microusb

}

1.4、測試main方法

package com.cn.adapter.classadapter;

public static void main(string args)

}

二、物件介面卡

2.1、typec介面、microusb介面以及實現同上

2.3、介面卡類

package com.cn.adapter.objectadapter;

import com.cn.adapter.classadapter.microusb;

import com.cn.adapter.classadapter.typec;

public class adapter implements microusb

@override

public void ismicrousb()

}

2.4、測試main方法

package com.cn.adapter.objectadapter;

import com.cn.adapter.classadapter.microusb;

import com.cn.adapter.classadapter.typec;

import com.cn.adapter.classadapter.typecimpl;

public static void main(string args)

}

三、很多時候,還會遇到一種介面卡,介面的介面卡,很簡單,假如有個很大的介面,幾十個方法,但是並不是每個實現該介面的都必須得實現所有方法,此時,就可以做個抽象的中間類,實現大介面,方法實現都是空。之後開發,都繼承這個抽象類,用哪些方法,就覆寫哪些方法。相對簡單,**就不上了。

設計模式4 介面卡模式(adapter )

設計模式 介面卡模式 adapter 將乙個或幾個介面轉化成你需要的另乙個介面,從而達到你的需要,這種方式可稱之為介面卡模式 方式一 public inte ce fly public inte ce broom public class broomstickriding implements fl...

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

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...

4 介面卡模式

看到如下解釋 看看類介面卡模式的示例 class banner public string getbannerwithparen public string getbannerwithaster class printbanner extends banner implements print pu...