适配器模式

2021-12-14  本文已影响0人  _1633_

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

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

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

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

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

        示例:封装旧接口 

封装旧接口 

    另一个示例

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

show 

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

调用

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

display

             使用 适配器模式:

适配器模式

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

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

获取数据

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

适配器

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

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读