適配器
連接兩種不同種類的對象,使其毫無問題地協同工作。
分為類適配器和對象適配器。
類適配器
類適配器是通過多重繼承來實現的,當然OC中沒有多重繼承,但可以通過協議來進行類似的多重繼承。
如圖:
類適配器的類圖.png
對象適配器
對象適配器不繼承被適配者,而是通過組合對它的引用。
對象適配器類圖.png
兩者區別
-
類適配器
只針對單一的具體Adaptee類,把Adaptee適配到Target 易于重載Adaptee的行為,因為是通過直接子類化進行適配的 只有一個Adapter對象,無需額外的指針間接訪問Adaptee
-
對象適配器
可以適配多個Adaptee以及其子類 難以重載Adaptee的行為,需要借助子類的對象而不是其本身 需要額外的指針間接引用并適配