介面卡模式

2021-10-22 05:54:29 字數 2000 閱讀 2264

物件介面卡

**演示

介面卡模式是一種結構型設計模式

簡單說,就像網線和沒有網線介面的電腦一樣,需要乙個介面卡(中間者)進行轉換

在**中體現的就是

而細分介面卡又分兩類

類的介面卡,就是對類的適配

舉個例子:假設

噴火龍和裂空座繼承了龍這個類,但是現在沒有飛行這個方法,不可能在龍這個類裡面加吧,那就不符合開閉原則了

如果是對類進行適配,那就是在噴火龍和裂空座下面又繼承兩個介面卡類

物件介面卡

再舉上面的例子,原本就是這樣

但是物件介面卡首先弄了乙個介面,飛行介面,然後龍的介面卡這個類去實現飛行的介面

inte***ce

flyclass

dargon

class

dargonadapter

implements

fly@override

public

void

modality()

}

物件介面卡可以把不同的適配者適配到同一目標

根據oop七大原則中的合成復用原則,盡量使用物件介面卡的實現方式,多用組合/聚合,少用繼承

下面的例子應該更加形象一點

就是有線鍵盤和電腦無法直接連線,需要乙個介面卡(線)連線電腦(類似網線和沒網線插口的電腦需要乙個介面卡鏈結一樣)

*///要被適配的類: 鍵盤

public

class

keyboard

implements

usbimplement

}

package com.cai.adapter;

public

inte***ce

switch

package com.cai.adapter;

import lombok.allargsconstructor;

/** * @description

* @author cai

* @date 2021-03-15 10:50

*/@allargsconstructor

public

class

usbcable

implements

switch

}

參考:

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

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