設計模式之Adapter模式

同Facade模式一樣,Adapter模式也是一種包裝(wrapper),是很常用的模式,不過他們之間還是有微妙差別。

Adapter的意圖可以這樣表述:將一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使原來由於接口不兼容而不能一起工作的類可以一起工作。

採用Adapter模式是源於這樣的問題:原有系統的數據和行爲都正確,但接口不符。通常用於必須從抽象類派生時。其實現方式是將原有類包含在另一個類中(組合方式,稱爲對象Adapter模式; 當然也可以採用私有繼承方式,稱爲類Adapter方式),讓包含類與需要的接口匹配,調用被包含類的方法。 

Adapter和Facade模式的一個共同點是都存在既有的類。有幾點區別:Facade模式不必按某個接口設計,而Adapter模式必須按接口所需設計;Facade模式對象不需要多態行爲,而Adapter模式可能需要;Facade模式提供更簡單的接口,而Adapter模式並不一定如此。

Adapter模式實際上有任務轉接的意思。

最典型和常見的Adapter模式當然就是大家熟悉的STL適配器了,呵呵。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章