玩轉設計模式之
adapter
設計模式很重要,地球人都知道。
adapter
,介面卡或者叫轉換器,這種模式主要用來將某乙個類的介面轉換成另外乙個類的介面。其實現起來也很簡單,就是新建乙個類,讓其實現所需要的介面,而其實現的過程是完全依賴於原需要被
adapt
的類的。這和我們現實生活中的各類介面卡非常類似,例如:電源介面卡(將
220伏轉換成
110伏)等等。
1.
實現方式
一般有兩種實現方式:繼承和例項成員。
讓我們假設
classa
要被adapt
成inte***ceb
,如下:
//classa
packagesample;
publicclassclassa }
//inte***ceb
packagesample;
publicclass
inte***ceb
·繼承方式
實際上就是通過整合
classa
,然後再加上新的介面方法。
//classc
packagesample;
publicclassclasscextendsclassaimplementsinte***ceb }
·例項成員方式
實際上就是在新的類中建立乙個
classa
的例項,再加上新的介面方法。
//classc
packagesample;
publicclassclasscimplementsinte***ceb }
2.
應用場景
當你有兩個不同的類,其實現方法(介面)不一致,而你又想通過統一的方式來操作這兩個類,而且也不想改變這兩個類的原有實現方式,這時,你就需要使用
adapter
模式了。一般情況下,是將某個特殊的類
adapt
成標準的類。
設計模式 之 Adapter
基礎幾何影象物件 如直線 矩形 是很容易實現的,但文字物件就比較複雜了,其中涉及到了文字格式 段落格式 螢幕更新 快取管理等諸多內容。如果此時正好有乙個成熟的文字繪製工具包可供使用,這個工具包中的textview物件提供了完整的文字格式 段落 螢幕及快取管理,實現了textshape物件需要實現的一...
設計模式之Adapter模式
adapter的意圖可以這樣表述 將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使原來由於介面不相容而不能一起工作的類可以一起工作。採用adapter模式是源於這樣的問題 原有系統的資料和行為都正確,但介面不符。通常用於必須從抽象類派生時。其實現方式是將原有類包含在另乙個類中 組合方...
設計模式之 Adapter例項
include memory include iostream class t1 class t2 class iadaptor,抽象基類 class iadaptor class adaptor template class adaptor public iadaptor,private t 實現...