設計模式(六) 介面卡模式

2022-07-31 03:51:11 字數 853 閱讀 6451

優點:① 通過引入乙個介面卡adapter來重用現有的不相容的舊類adeptee,而無需修改舊類原有結構。

② 增加了舊類的復用性;介面卡的靈活性和擴充套件性都非常好

缺點:① 一次最多只能適配乙個舊類,不能同時適配多個舊類。

適用範圍:需要有舊類,而舊類的介面不符合新系統的需要,甚至舊類都沒有源**

客戶端:  

player b = new forwards("巴蒂爾");

b.attack();  // 進攻命令(英文)

//作廢

// player y = new center("姚明");

// y.attack();

player ym = new translator("姚明");  //介面卡,此處相當於翻譯

ym.attack();  // 進攻命令(已適配為中文)

一句話概括:如同乙個電源介面卡,不論什麼電壓,只要經過介面卡,都能變成適合的220v

/**

* player (進攻、防守抽象方法)

* forwords center guards (例項化player介面) -- 本國隊員

* * foreigncenter (舊類,沒有實現player介面,但包含有類似的進攻、防守的方法) -- 外國隊員

* * translator (介面卡,同樣例項化player介面,然後將舊類屬性及方法放入此介面卡,用來代替舊類) -- 本國隊員(已轉化)

*/

介面卡模式(Adapt) 設計模式(六)

作用 將乙個類的介面轉換成客戶希望的另外乙個介面。adapt 模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。解析 adapt 模式其實就是把完成同樣的乙個功能但是介面不能相容的類橋接在一起使之可以在一起工作,這個模式使得復用舊的介面成為可能.實現 adapt 模式有兩種實現辦法,一種...

C 設計模式(六)介面卡模式

在引入不可修改的第三方類庫,並且需要適配原有的介面時,就需要使用適配配器模式。實現要素 現有介面 ihelper 需要適配的介面,不可修改 public inte ce ihelper 介面實現 mysql public class mysqlhelper ihelper public void d...

設計模式之六 介面卡模式

結構型模式 介面卡模式是將乙個類的介面轉換成使用者所期待的目標介面,使得原本因介面不匹配無法再一起工作的兩個類一起工作。類介面卡模式,簡單來說,就是適配的類的api轉換成為目標介面的api。這種介面卡模式下,介面卡繼承自已實現的類 一般多重繼承 一句話描述 adapter類,通過繼承 adaptee...