設計模式 介面卡模式

2021-07-25 14:44:33 字數 1399 閱讀 6135

關於介面卡,我們生活中常見的許多東西都可以稱之為介面卡,比如mac電源介面卡(可是我沒有!!),還有漏斗等,在設計模式中的意義是相同的。所謂介面卡模式就是將乙個類的介面轉換成滿足新需求的另乙個介面,介面卡讓原本介面不相容的類可以進行合作。

我們就以mac電源介面卡為例:

【需求場景】

【問題剖析】

【問題解決】

public

inte***ce

public

void

}

public

inte***ce

normalport

public

class

normalportadapter

implements

// 定義由normalport做實際的工作

private normalport normalport;

public

normalport(normalport normalport)

@override

public

void

normalport.normalport();} }

@override

public

void

normalcharge();

});

從上面中整個問題的解決過程中可以發現:

【問題深入】

但是從上面還有乙個問題,如果我有兩個電腦,乙個是mac,乙個是普通的pc,普通pc充電時需要的就是通用的介面,那麼介面卡如何滿足這種需求?能不能也讓我們的介面卡實現被適配的介面,如下:

public

class

normalportadapter

implements

// 定義由normalport做實際的工作

private normalport normalport;

public

normalport(normalport normalport)

@override

public

void

normalport.normalport();

} @override

public

void

normalcharge()

}

該設計模式的uml類圖如下:

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

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

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...

設計模式 介面卡模式

01 02 author rollen holt 設計模式之 介面卡模式 03 04 05 inte ce window 11 12 abstract class windowadapter 16 public void close 19 public void activated 22 publi...