介面卡模式

2021-10-06 14:26:58 字數 1547 閱讀 3817

先來聊一聊結構性模式。

我們都知道建立型模式有五個:單例模式,工廠模式,抽象工廠,原型模式,建造者模式

那結構型模式有七個:介面卡模式,橋接模式,裝飾模式,組合模式,外管模式,享元模式,**模式。

我們先來看一看介面卡模式吧

比如乙個usb轉換介面,我們筆記本必須要插入轉換器。

如圖:

現在大腦裡應該有三個類了,乙個網線介面類,乙個筆記本類,還有乙個usb轉換類

先看**:

先來寫乙個網線的類

public

class

adaptee

}

在寫乙個電腦的類

public

class

computer

然後寫乙個介面轉換器介面

//介面轉換器的抽象實現

public

inte***ce

nettousb

寫乙個介面卡類

//真正的介面卡 , 需要連線usb ,還有網線

public

class

adapter

extends

adaptee

implements

nettousb

}

測試一下

public

class

test

}

1.繼承(類介面卡,單繼承)

2.組合(物件介面卡:常用)

違反了我們的黎克特制替換原則

我們可以改進一下
//真正的介面卡 , 需要連線usb ,還有網線

public

class

adapter2

implements

nettousb

@override

public

void

handrequest()

}

這裡的測試就可以這樣寫

public

static

void

main

(string[

] args)

這樣我們效率極高

定義:

角色分析:

目標介面:客戶所期待的介面,目標可以是具體的或抽象的類,也可以是介面

需要適配的類:需要適配的類或適配者類

介面卡:通過包裝乙個需要適配的物件,把原介面換成目標物件

下面是介面卡模式的優點,缺點,以及應用場景

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

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