了解23種設計模式之介面卡模式

2021-10-07 13:05:39 字數 2800 閱讀 5460

一,什麼是 介面卡模式

adapter 模式 也叫介面卡模式, 是構造型模式之一,通過adapter 模式可以改變已有類(或外部類) 的介面形式 。

二,介面卡模式的定義與特點以及結構

定義:將乙個類的介面轉換成客戶希望的另外乙個介面,使得原本由於介面不相容而不能一起工作的那些類能一起工作。介面卡模式分為

類結構型模式

和物件結構型模式

兩種,前者類之間的耦合度比後者高,且要求程式設計師了解現有元件庫中的相關元件的內部結構,所以應用相對較少些。

優點:缺點:對類介面卡來說,更換介面卡的實現過程比較複雜。

介面卡模式(adapter)包含以下主要角色。

目標(target)介面:當前系統業務所期待的介面,它可以是抽象類或介面。

適配者(adaptee)類:它是被訪問和適配的現存元件庫中的元件介面。

介面卡(adapter)類:它是乙個轉換器,通過繼承或引用適配者的物件,把適配者介面轉換成目標介面,讓客戶按目標介面的格式訪問適配者。

類介面卡模式  通過繼承實現adapter

物件介面卡模式,通過委讓實現adapter

三,**實現

類介面卡:

目標(target)介面:當前系統業務所期待的介面,它可以是抽象類或介面。

將使用的電源抽象

public inte***ce current
適配者(adaptee)類:它是被訪問和適配的現存元件庫中的元件介面。

這裡是筆記本適配者

public class adaptee 

}

介面卡(adapter)類:它是乙個轉換器,通過繼承或引用適配者的物件,把適配者介面轉換成目標介面,讓客戶按目標介面的格式訪問適配者。

public class adapter extends adaptee implements current

}

測試:

物件介面卡模式,通過委讓實現adapter

目標(target)介面:當前系統業務所期待的介面,它可以是抽象類或介面。

將使用的電源抽象

public inte***ce current
適配者(adaptee)類:它是被訪問和適配的現存元件庫中的元件介面。

這裡是適配者 提供各種電壓

public class adaptee 

}

介面卡(adapter)類:它是乙個轉換器,通過繼承或引用適配者的物件,把適配者介面轉換成目標介面,讓客戶按目標介面的格式訪問適配者。

public class adapter implements current

@override

public void voltage()

}

測試:

四,應用場景

五,模式的擴充套件

介面卡模式(adapter)可擴充套件為雙向介面卡模式,雙向介面卡類既可以把適配者介面轉換成目標介面,也可以把目標介面轉換成適配者介面

目標介面
/**

* target(目標) 發動機

*/public inte***ce motor

適配者介面 

/**

* @classname engine

* @description 引擎(適配者介面)

* @version 1.0

**/public inte***ce engine

}

適配者實現

/**

* @classname electricmotor

* @description (適配者實現)

* @version 1.0

**/public class electricengine implements engine

}

雙向介面卡

public class adapter implements motor,engine

@override

public void drive()

@override

public void engine()

}

測試

23種設計模式之介面卡模式

二 實現方式 三 總結 下文如有錯漏之處,敬請指正 介面卡模式是將乙個類介面轉換為客戶端期望的另乙個介面,使得原本因介面不相容的類能協同工作。即讓不相關的兩個類產生關聯並進行工作。介面卡模式的主要角色 缺點 物件介面卡模式 adapter類聚合adaptee物件並實現target介面 優點 缺點 預...

23種設計模式 介面卡模式

1 概念 定義 介面卡模式,是指將乙個類的介面轉換成客戶期望的另外乙個介面,是原本的介面不相容的類,可以一起工作。它是結構型模式的一種。建立型模式 結構型模式 行為模式 單例模式 模式 模板方法模式 原型模式 介面卡模式 策略模式 工廠方法模式 橋接模式 命令模式 抽象工廠模式 裝飾模式 責任鏈模式...

23種設計模式之介面卡模式(Adapter)

介面卡模式將乙個介面轉換成客戶希望的另乙個介面,從而使介面不相容的那些類可以一起工作。介面卡模式既可以作為類結構型模式,也可以作為物件結構型模式。在類介面卡模式中,通過使用乙個具體類將適配者適配到目標介面中 在物件介面卡模式中,乙個介面卡可以將多個不同的適配者適配到同乙個目標。圓形類 public ...