适配器
连接两种不同种类的对象,使其毫无问题地协同工作。
分为类适配器和对象适配器。
类适配器
类适配器是通过多重继承来实现的,当然OC中没有多重继承,但可以通过协议来进行类似的多重继承。
如图:
对象适配器
对象适配器不继承被适配者,而是通过组合对它的引用。
两者区别
-
类适配器
只针对单一的具体Adaptee类,把Adaptee适配到Target 易于重载Adaptee的行为,因为是通过直接子类化进行适配的 只有一个Adapter对象,无需额外的指针间接访问Adaptee
-
对象适配器
可以适配多个Adaptee以及其子类 难以重载Adaptee的行为,需要借助子类的对象而不是其本身 需要额外的指针间接引用并适配