適配器模式分兩種,即類適配器模式、對象適配器模式
類適配器模式
類適配器模式把Adaptee的接口轉換成為Target需要的接口。
Adapter與Adaptee是繼承關系,這決定了這個是類適配器模式:
屏幕快照 2016-11-21 下午4.13.37.png
模式中的角色
目標(Target):客戶所期待的接口。
適配者(Adaptee):需要適配的類。
適配器(Adapter):通過包裝一個適配者,把原接口轉換成目標接口。
對象適配器模式
與類適配器模式一樣,對象適配器模式把Adaptee的接口轉換成為Target需要的接口,與類適配器模式不同的是,對象適配器模式不是使用繼承實現,而是把Adaptee委派到Adapter中實現的。
屏幕快照 2016-11-21 下午4.20.07.png
模式中的角色
目標(Target):客戶所期待的接口。
適配者(Adaptee):需要適配的類。
適配器(Adapter):通過包裝一個適配者,把原接口轉換成目標接口。
總結:
其實,場景如下:
對于不同的數據源(來自不同的網絡請求),但是需要展示到某個View上的內容是一樣的。這樣的話,
目標(Target):(oc中協議定義的接口)。
適配者(Adaptee):需要適配的類就是不同的數據源。
適配器(Adapter):通過包裝一個適配者,將不同數據源的數據給進行處理,得到需要展示的數據,最后通過target展示。