當前位置:常識百科館>遊戲數碼>電腦>

適配器模式 - Adapter Pattern

電腦 閱讀(5.78K)

將一個接口轉換成客戶希望的另一個接口,使接口不相容的那些類可以一起工作,其別名爲包裝器(Wrapper)。適配器模式既可以作爲類結構型模式,也可以作爲對象結構型模式。

適配器模式 - Adapter Pattern

主要優點

(01)將目標類和適配者類解耦,透過引入一個適配器類來重用現有的適配者類,無須修改原有結構。

(02)增加了類的透明性和複用性,將具體的業務實現過程封裝在適配者類中,對於客戶端類而言是透明的,而且提高了適配者的複用性,同一個適配者類可以在多個不同的系統中複用。

(03)靈活性和擴展性都非常好,透過使用配置檔案,可以很方便地更換適配器,也可以在不修改原有代碼的基礎上增加新的適配器類,完全符合“開閉原則”。

主要缺點

(01)對於Java、C#等不支援多重類繼承的語言,一次最多隻能適配一個適配者類,不能同時適配多個適配者;Swift也是如此。

(02)適配者類不能爲最終類,如在Java中不能爲final類,C#中不能爲sealed類;

(03)在Java、C#等語言中,類適配器模式中的目標抽象類只能爲接口,不能爲類,其使用有一定的侷限性。

(04)對象適配器模式的缺點如下:與類適配器模式相比,要在適配器中置換適配者類的某些方法比較麻煩。如果一定要置換掉適配者類的一個或多個方法,可以先做一個適配者類的子類,將適配者類的方法置換掉,然後再把適配者類的子類當做真正的適配者進行適配,實現過程較爲複雜。

示例

(01)Target 目標接口

適配器模式 - Adapter Pattern 第2張

(02)Adaptee

(03)Another Adaptee

(04)Adapter 操作適配器:適配器

(05)使用