介面卡模式將乙個類的介面,轉換成客戶期待的另乙個介面,介面卡讓原本介面不相容的類可以合作無間。
通俗的說,介面卡就是連線兩個不相容類的中介軟體,使他們能夠很好的結合在一起工作。
假設有乙個系統要接到廠商提供的介面,但是系統接不上廠商提供的介面,所有就產生了介面卡,使系統能間接接入到廠商提供的介面。如下圖
有了介面卡,現有系統跟廠商類就可以很好的相容工作了,講了那麼多理論的東西。也是應該提供例項了。
我將用手機充電的列子來講解。大家都知道手機充電需要的電壓是5v,不過我們家庭中用的電壓是220v,充電器就將220v的電壓轉化為5v給手機充電,所以充電器就相當於我們這個模式中的介面卡。
package com.zengfeng.adapter;
//手機類
public
class mobilephone
}
從上述**可以看出,手機需要5v的電壓充電
v5電壓介面,相當於廠商提供的介面
package com.zengfeng.adapter;
//v5電壓介面,提供 5v的電壓方法
public
inte***ce v5power
220v電壓類,相當於現有系統提供的介面
package com.zengfeng.adapter;
public
class v220power
}
因為220v和5v不匹配,所以要提供介面卡匹配,介面卡必須要實現廠商提供的介面,這裡的介面卡v220tov5adapter 實現 v5power介面。
ackage com.zengfeng.adapter;
///將v220轉化為v5的介面卡,轉化為目標,就要實現目標介面,並且提供轉化的物件
public
class
v220tov5adapter
implements
v5power
//將v220電壓轉化成v5
@override
public
void
getv5power()
}
好了,一切都準備就緒,接下來就要測試了。
package com.zengfeng.adapter;
public
class phoneapadtertext
}
測試結果
介面卡模式(類介面卡 物件介面卡)
做個筆記 引用 public inte ce usb public inte ce psp public class usber implements usb 類介面卡 psp適用usb介面 public class usbadapter extends usber implements psp 物...
介面卡模式 預設介面卡,類介面卡,物件介面卡
模式思想 改變乙個類的對外介面 增加或減少 以滿足不同外部呼叫者的需求 角色成員 目標介面 target 客戶所期待的介面。目標可以是具體的或抽象的類,也可以是介面。需要適配的類 adaptee 需要適配的類或適配者類。介面卡 adapter 通過包裝乙個需要適配的物件,把原介面轉換成目標介面。適配...
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...