• 设计模式之适配器模式


    一、适配器模式介绍
    适配器模式:将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。
    适配器模式有着良好的OO设计原则,使用对象组合,以修改的接口包装被适配者,此外这样的做法还有额外的有点,被适配者的任何子类,都可以搭配适配器使用。

    二、适配器模式类图

     适配器模式分为两种:对象适配器和“类”适配器
    (1)类适配器不是使用组合来适配被适配者,而是继承被适配者和目标类
    (2)对象适配器是使用组合来适配被适配者的。

    对象适配器类图如下:

     类适配器类图如下:

    三、问题

    对象适配器和类适配器使用两种不同的适配方法,这两种实现的差异如何影响适配器的弹性?
    (1)对象适配器因为使用的是组合,所以该方式不仅可以适配某个类,也可以适配该类的任何子类,需要重新实现适配类的所有方法。
    类适配器采用的是继承方式,能适配某个特定的被适配的类,且不需要重写适配整个被适配者的方法;
    (2)对象适配器需要一个适配类和一个被适配的类;而类适配器则不需要被适配的类,仅仅一个适配器类即可。
    (3)如果被适配者加入了新的行为,对象适配器的适配类则需要做相应的改动,而类适配器则不需要。

    四、总结

    1) 当需要使用一个现有的类而其接口并不符合你的需要时,就使用适配器
    2) 适配器改变接口以符合客户的期望
    3) 实现一个适配器可能需要一番功夫,也可能不费功夫,视目标接口的大小与复杂而定
    4) 适配器模式有两种形式:类适配器和对象适配器,类适配器需要多重继承
    5) 适配器将一个对象包装起来以改变其接口;装饰者将一个对象包装起来以增加新的行为和责任;

  • 相关阅读:
    Vue的基本使用
    django中的跨表查询梳理
    docker安装及配置
    大数据分析(一)探索性分析
    搜索引擎-一种提示词推荐算法
    shell变量详解
    机器学习之寻找KMeans的最优K
    大数据系统之监控系统(二)Flume的扩展
    大数据系统之监控系统(一)
    大数据系统之系统设计
  • 原文地址:https://www.cnblogs.com/lovegrace/p/12177220.html
Copyright © 2020-2023  润新知