美文网首页
适配器模式

适配器模式

作者: 姬94 | 来源:发表于2017-07-04 11:14 被阅读9次

    适配器模式的定义:

    将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。

    对象适配器模式的结构图:


    image.png

    类适配器模式结构图:


    image.png

    适配器模式主要优缺点:

    优点:
    由于适配器类的是适配者的子集,因此可以在适配器类中置换一些适配者的方法,是的适配器的灵活性更强。
    1.一个对象适配器可以把多个不同的适配者适配到同一个目标。
    2.可以适配一个适配者的子类,由于适配器和适配者之间是关联关系,根据里氏代换原则,适配者的子类也可通过该适配器进行适配。
    缺点:
    与适配器模式相比,要在适配器中置换是陪着类的某些方法比较麻烦。如果一定要置换掉是适配者类的一个或者多个方法,可以先做一个适配者类的子类,在子类中奖适配者类的方法置换掉,然后在把适配者类的子集当做真正的适配者进行适配,实现过程比较复杂。

    适配器模式适用场景:
    1.系统需要使用一些现有的类,而这些类的接口不符合系统的需要,甚至没有这些类的源代码。
    2.想创建一个可以重复使用的类,用于与一些彼此之间没有太大关联的类,包括一些可能在将来引进的类一起工作。

    双向适配器模式:

    如果在适配器中同时包含对目标类和适配者类的引用。适配者可以通过它调用目标类中的方法,目标类也可以通过它调用适配者类中的方法,那么该适配器是一个双向适配器。

    缺省适配器:

    当不需要事先一个接口所提供的所有方法时,可先设计一个抽象类的实现该接口,并为接口中每个方法提供一个默认实现,那么该抽象类的子类可以选择性地覆盖父类的某些方法来实现需求,他适用于不想使用一个接口中的所有方法的情况,又称为单接口适配器模式。

    相关文章

      网友评论

          本文标题:适配器模式

          本文链接:https://www.haomeiwen.com/subject/tmnacxtx.html