Java設計模式之介面卡模式

2021-07-27 18:27:49 字數 2211 閱讀 6314

介面卡就是一種適配中介軟體,它存在於不匹配的二者之間,用於連線二者,將不匹配變得匹配,簡單點理解就是平常所見的轉接頭,轉換器之類的存在。

介面卡模式有兩種:類介面卡和物件介面卡

二者在實現上有些許區別,作用一樣。

1、類介面卡模式:

原理:通過繼承來實現介面卡功能。

當我們要訪問的介面a中沒有我們想要的方法 ,卻在另乙個介面b中發現了合適的方法,我們又不能改變訪問介面a,在這種情況下,我們可以定義乙個介面卡p來進行中轉,這個介面卡p要實現我們訪問的介面a,這樣我們就能繼續訪問當前介面a中的方法(雖然它目前不是我們的菜),然後再繼承介面b的實現類bb,這樣我們可以在介面卡p中訪問介面b的方法了,這時我們在介面卡p中的介面a方法中直接引用bb中的合適方法,這樣就完成了乙個簡單的類介面卡。

詳見下方例項:我們以ps2與usb的轉接為例

ps2介面:ps2

1

public

inte***ce

ps2

usb介面:usb

1

public

inte***ce

usb

usb介面實現類:usber

1

public

class usber implements

usb

78 }

介面卡:adapter

1

public

class adapter extends usber implements

ps2

78 }

測試方法:clienter

1

public

class

clienter

78 }

顯示結果:

usb口

例項講解:

我手中有個ps2插頭的裝置,但是主機上只有usb插頭的插口,怎麼辦呢?弄個轉換器,將ps2插頭轉換成為usb插頭就可以使用了。

介面ps2:描述ps2介面格式

介面usb:描述usb介面格式

類usber:是介面usb的實現類,是具體的usb介面格式

adapter:用於將ps2介面格式轉換成為usb介面格式

2、物件介面卡模式

原理:通過組合來實現介面卡功能。

當我們要訪問的介面a中沒有我們想要的方法 ,卻在另乙個介面b中發現了合適的方法,我們又不能改變訪問介面a,在這種情況下,我們可以定義乙個介面卡p來進行中轉,這個介面卡p要實現我們訪問的介面a,這樣我們就能繼續訪問當前介面a中的方法(雖然它目前不是我們的菜),然後在介面卡p中定義私有變數c(物件)(b介面指向變數名),再定義乙個帶引數的構造器用來為物件c賦值,再在a介面的方法實現中使用物件c呼叫其**於b介面的方法。

詳見下方例項:我們仍然以ps2與usb的轉接為例

ps2介面:ps2

1

public

inte***ce

ps2

usb介面:usb

1

public

inte***ce

usb

usb介面實現類:usber

1

public

class usber implements

usb

78 }

介面卡:adapter

1

public

class adapter implements

ps2

7@override

8public

void

isps2()

1112 }

測試類:clienter

1

public

class

clienter

78 }

結果顯示:

usb口

例項講解:

我手中有個ps2插頭的裝置,但是主機上只有usb插頭的插口,怎麼辦呢?弄個轉換器,將ps2插頭轉換成為usb插頭就可以使用了。

介面ps2:描述ps2介面格式

介面usb:描述usb介面格式

類usber:是介面usb的實現類,是具體的usb介面格式

adapter:用於將ps2介面格式轉換成為usb介面格式

JAVA設計模式之介面卡模式

先總結一下整個過程的感想 感覺在網上找了很多資料,大部分大牛們把這個設計模式解釋的很仔細,但是用詞實在過於專業,很難讓初學者讀懂,自己找了乙個比較恰當的例子寫了一遍,對這個設計模式有了一定的認識,希望這種解釋可以得到認可。其實總結一下介面卡模式的最終目的 在乙個沒有實現某個介面的類,想在這個介面中規...

Java設計模式之介面卡模式

1 使用場景 介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面。以消除由於介面的不匹配所造成類的相容性問題。介面卡模式主要有類的介面卡模式 物件的介面卡模式兩種。2 兩種介面卡模式介紹 模式所涉及的角色有 目標 target 角色 這就是所期待得到的介面。源 adapee 角色 現在需要適配的...

Java設計模式之介面卡模式

介面卡就是一種適配中介軟體,它存在於不匹配的二者之間,用於連線二者,將不匹配變得匹配,簡單點理解就是平常所見的轉接頭,轉換器之類的存在。介面卡模式有兩種 類介面卡和物件介面卡 二者在實現上有些許區別,作用一樣。1 類介面卡模式 原理 通過繼承來實現介面卡功能。當我們要訪問的介面a中沒有我們想要的方法...