美文网首页
适配器模式

适配器模式

作者: _1633_ | 来源:发表于2021-12-14 11:40 被阅读0次

        适配器 又叫 包装器(wrapper),适配器模式的作用是解决两个软件实体间的接口 不兼容 的问题。使用适配器模式之后,原本由于接口不兼容而不能工作的两个软件实体可以一起工作;

        生活中比较形象的例子就是 我们常用的 电源适配器,比如电脑的 电源适配器, 将我们 220v 的交流电源 转换为 电脑电池支持的电压;

        作用: 旧接口格式 和 使用者 不兼容; 中间加一个 适配器 转换接口;

        适用场景: 1 封装旧接口 ; 2 vue computed

    js 简化后的 UML 类图 适配器模式

            示例:封装旧接口 

    封装旧接口 

        另一个示例

            对于接入不同的 库,都有一个 show 方法 提供给我们使用;

    show 

            我们有一个同一个的调用方法;

    调用

                但是当第三个库没有提供 show 方法, 而是 display;

    display

                 使用 适配器模式:

    适配器模式

        适配器 另一个常用的场景: 对数据的处理

            当我们从第三方接口获取数据 进行渲染的时候    

    获取数据

            如果此时我们切换了另外一个数据源,此时的数据结构和原来的 完全不一样,那么我们是不是需要全部重新处理页面的逻辑,此时适配器模式就起到了作用,我们只需要讲这个数据源 适配 成原来的数据格式,而不用去更改 我们原来的页面处理逻辑;

    适配器

        适配器模式主要用来解决 两个已有接口之间不匹配的问题,它不考虑这些接口是怎样实现的,也不考虑它们将来可能会如何演化。适配器模式 不需要改变已有的接口,就能够使它们协同作用;

        装饰器模式 和 代理模式 也不会改变原有对象的接口,但 装饰器模式 的作用是为了 给对象增加功能( 适配器不算是增加新功能)。装饰器模式常常形成一条长的装饰链,而适配器模式通常只包装一次。代理模式是为了 控制对对象的访问,通常也只包装一次;

        适配器模式  原来的 接口已经不能使用,需要一个适配器来做处理; 而 装饰器原来的接口还能使用,只不过是添加一些新功能罢了

        外观模式的作用倒是和适配器比较相似,有人把外观模式看成一组对象的适配器,但外观模式最显著的特点是 定义了一个新的接口;

        设计原则验证: 将 旧接口使用者 进行分离 ; 符合 开放封闭 原则。

    相关文章

      网友评论

          本文标题:适配器模式

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