設計模式 重溫 介面卡

2021-09-08 22:00:12 字數 711 閱讀 7631

實際場景:

eric有一台舊電腦,舊電腦的容量是40g。最近eric迷戀上的電影(電影型別是:此處省略100字),這是他想把電影儲存到硬碟,而容量又特別小,需要在多加一塊1t的硬碟,之前老硬碟的介面是ide的,

而現在的硬碟基本上都是sata介面的硬碟,所以裝機人員就使用了一條「轉接線」,這條線的作用就是將sata介面的硬碟可以插在ide介面上。

這裡就出現了乙個介面卡的原型:

ide介面  就是  目標介面

轉接線  就是 介面卡

sata介面  就是 要適配的介面

uml**,

物件介面卡:這裡是介面卡模式的原型 這種實現為物件介面卡,adapter中儲存了要適配的物件adaptee

類介面卡:adapter可以直接繼承adaptee和target介面來顯示從乙個介面道另乙個介面的轉換(這裡一般target為目標介面,adaptee為現已實現的類)

它所解決的問題在於,現在有乙個已經實現的功能類adaptee,因需求的變化目標介面改變為target,所以現在的adaptee無法適應現有的需求,所以使用介面卡模式,把現有的adaptee類轉換為target介面成員

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

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

設計模式 介面卡模式(類介面卡和物件介面卡)

如果去歐洲國家去旅遊的話,他們的插座如下圖最左邊,是歐洲標準。而我們使用的插頭如下圖最右邊的。因此我們的膝上型電腦,手機在當地不能直接充電。所以就需要乙個插座轉換器,轉換器第1面插入當地的插座,第2麵供我們充電,這樣使得我們的插頭在當地能使用。生活中這樣的例子很多,手機充電器 將220v轉換為5v的...

設計模式 介面卡

一 功能 將乙個類的介面轉換成客戶希望的另外乙個介面,解決兩個已有介面之間不匹配的問題。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。二 示例 1 class adapter namespace designpattern adapter class target cl...