重學設計模式 - Adapter模式

1Adapter模式簡介

Adapter就是一個目標不能直接拿來使用,需要轉換。如電源適配器

《設計模式》一書中對Adapter模式的意圖是這樣敘述的:

將一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使原本由於接口不兼容而不能一起工作的類可以一起工作。

2Adapter模式關鍵特徵

 

意圖

使控制範圍之外的一個原有對象與某個接口匹配

問題

系統的數據和行爲都正確,但接口不符。通常用於必須從抽象類派生時。

解決方案

Adapter模式提供了具有所需接口的包裝類。

參與者與協作者

Adapter改變了Adaptee的接口,是AdapteeAdapter的基類Target匹配。這樣Client就可以使用Adaptee了,好像它是Target類型。

效果

Adapter模式使原有對象能夠適應新的類結構,不受其接口的限制。

實現

1、  對象Adapter模式:將原有類包含在另一個類中。讓包含類與需要的接口匹配,調用被包含類的方法。

2、  Adapter模式:通過多重繼承實現。創建一個新類,該類同時從兩個類繼承:從定義其接口的抽象類共有繼承;從訪問其實現的原有類私有繼承。

 

3、     Facade模式與Adapter模式比較

 

 

Facade模式

Adapter模式

是否存在既有的類?

是否必須按某個接口設計?

對象需要多態行爲嗎?

可能

需要更簡單的接口嗎?

 

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