设计模式之适配器

适配器

连接两种不同种类的对象,使其毫无问题地协同工作。
分为类适配器和对象适配器。

类适配器

类适配器是通过多重继承来实现的,当然OC中没有多重继承,但可以通过协议来进行类似的多重继承。
如图:


设计模式之适配器_第1张图片
类适配器的类图.png

对象适配器

对象适配器不继承被适配者,而是通过组合对它的引用。


设计模式之适配器_第2张图片
对象适配器类图.png

两者区别

  • 类适配器

    只针对单一的具体Adaptee类,把Adaptee适配到Target
    易于重载Adaptee的行为,因为是通过直接子类化进行适配的
    只有一个Adapter对象,无需额外的指针间接访问Adaptee
    
  • 对象适配器

    可以适配多个Adaptee以及其子类
    难以重载Adaptee的行为,需要借助子类的对象而不是其本身
    需要额外的指针间接引用并适配

你可能感兴趣的:(设计模式之适配器)