設計模式 介面卡模式 物件結構型模式

2021-08-22 08:45:26 字數 838 閱讀 9753

定義:將乙個類的介面,轉換成客戶期望的另外乙個介面。介面卡讓兩個原本不相容的介面可以合作無間。

優點:缺點:

場景:

實際案例:

假設我們先使用moto掃瞄頭是裝置,他們掃瞄介面如下:

//掃瞄頭產品介面

public inte***ce iscanhardwaremoto

public class moto implements iscanhardwaremoto

}

現在我們使用了一段時間之後發現moto掃瞄頭不好用,我們想替換成霍尼的掃瞄頭而且介面不能改變,那麼這個時候介面卡就啟作用了:

1.定義介面卡類繼承moto掃瞄頭介面,實際函式裡面的實現呼叫霍尼提供的介面函式。

public class adaptermoto implements iscanhardwaremoto 

@override

public string getbarcodedata()

}

霍尼掃瞄頭介面如下:

//霍尼掃瞄頭產品介面

public inte***ce iscanhardwarehoneywell

public class honeywell implements iscanhardwarehoneywell

}

測試:

public class test else if(model.equals("h900"))

if(scanhardwaremoto!=null)

}}

設計模式 結構型模式 介面卡模式

抽象成績操作類 目標介面 inte ce scoreoperation 快速排序類 適配者 class quicksort public void sort int array,int p,int r public intpartition int a,int p,int r swap a,j 1,...

設計模式 結構型模式 介面卡模式

已有介面a和b,在不修改a b的情況下,a要為b所用,這個時候需要乙個中間人來承擔將a的介面封裝成為b可以使用的介面,這裡的 中間人 就是介面卡 adapter 轉換介面 coyoteadapter將tomcat 的connector和container進行解耦,connector和containe...

設計模式 結構型模式 介面卡模式

將乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。角色說明 首先來說下物件介面卡模式的實現方式,就以電壓轉換為例子。現在我們需要定義乙個220v轉換成5v的介面 inte ce adapter被適配角色,一般是已存在的類,需要適配新的介面。生...