結構型模式 Adapter(介面卡)模式

2021-08-23 13:44:13 字數 1340 閱讀 5297

定義:

將乙個類的介面轉換成客戶端期望的另乙個介面。介面卡模式可以消除由於介面不匹配所造成的類相容性問題。

簡單的講就是客戶期望呼叫我們已存的**功能,但客戶已經定義好了自己的介面標準,為了使我們已有的**能適用客戶的介面,所以需要用到介面卡模式。

該模式定義的角色有一下三種:

介面卡模式主要以兩種方式實現:

舉個生活中常見的例子:為手機充電。

手機需要電但無法直接從電源上獲得(這裡忽略帶交流電源的山寨手機),所以有了充電器這個介面卡,來適配手機與電源的介面,從而能正常充電。

1.類介面卡

target(手機充電介面):

public inte***ce target
adaptee(電源):

public class adaptee 

}

adapter(介面卡):

public class adapterclass extends adaptee implements target

}

test:

public class test 

}

2.物件介面卡

更換adapter**為以下:

public class adapterobject implements target

public void electricize()

}

test:

public class test 

}

類介面卡與物件介面卡:

整體看類介面卡是基於整合的概念,而物件介面卡更類似於一種組合的概念。

物件介面卡的一些應用場景:

當客戶無法給出明確介面或客戶提出的介面為抽象類時。

客戶介面:

public abstract class abstracttarget
介面卡:

public class adapterobject extends abstracttarget 

@override

public void electricize()

}

Adapter 介面卡模式 結構型模式

意圖 將乙個類的介面轉換成客戶希望的另乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。要點 1 adapter模式主要應用於 希望復用一些現存的類,但是介面又與復用環境要求不一致的情況 在遺留 復用 類庫遷移等方面非 常有用。2 gof 23 定義了兩種adap...

結構型模式之介面卡ADAPTER

推薦先看 敏捷開發 原則 模式與例項 了解基本開發原則 如果我們需要使用另乙個類,但是這個類的介面與我們現有 不介面不相容,可以使用adapter模式使得不相容介面一起工作。如上圖shape類是我們現有 現在需要復用textview。但是觀察兩個類內的函式,可以發現shape內boundingbox...

結構型模式 1 介面卡模式Adapter

介面卡模式 將乙個類的介面,轉換成客戶期望的另乙個介面。在我們的應用程式中我們可能需要將兩個不同介面的類來進行通訊,在不修改這兩個的前提下我們可能會需要某個中介軟體來完成這個銜接的過程。這個中介軟體就是介面卡。它可以讓原本兩個不相容的介面能夠無縫完成對接。作為中介軟體的介面卡將目標類和適配者解耦,增...