aiyoudiao aiyoudiao
  • JavaScript
  • Vue
  • React
  • 低代码
  • 线性系统
  • 暂未分类
  • LeetCode
  • 算法
  • 数据结构
  • 设计模式
  • Other
  • PMP
  • Office
  • 面试
  • Bash
  • 流年往事
  • 经验片段
  • 读书杂感
  • 归档
  • 分类
  • 标签
  • 简介
  • 收藏
  • 有趣
  • 文档

码二

扫微信二维码,认识一下码二吧😉。
  • JavaScript
  • Vue
  • React
  • 低代码
  • 线性系统
  • 暂未分类
  • LeetCode
  • 算法
  • 数据结构
  • 设计模式
  • Other
  • PMP
  • Office
  • 面试
  • Bash
  • 流年往事
  • 经验片段
  • 读书杂感
  • 归档
  • 分类
  • 标签
  • 简介
  • 收藏
  • 有趣
  • 文档
  • LeetCode

  • 算法

  • 数据结构

  • 设计模式

    • 浅聊设计理念
    • 谈一谈设计原则
    • 工厂方法模式
    • 抽象工厂模式
    • 建造者模式
    • 原型模式
    • 单例模式
    • 桥接模式
    • 代理模式
    • 装饰器模式
    • 适配器模式
      • 前言
      • 适配器模式
    • 享元模式
    • 组合模式
    • 外观模式
    • 观察者模式
    • 模板方法模式
    • 策略模式
    • 职责链模式
    • 状态模式
    • 迭代器模式
    • 访问者模式
    • 备忘录模式
    • 命令模式
    • 解释器模式
    • 中介者模式
  • Other

  • vue3设计与实现

  • 算法与设计
  • 设计模式
aiyoudiao
2022-02-22

适配器模式

# 前言

适配器模式属于结构型模式,这个类型的设计模式总结出了 类、对象组合后的经典结构,将类、对象的结构和使用解耦了,花式的去借用对象。

# 适配器模式

使用场景:适配已有的功能,处理不兼容的功能,将不适合的功能再进行一层封装,将不适配的数据做完美转换。

理解:类、对象的结构和使用解耦,适配器模式和代理模式一样都支持继承、组合的方式。当目标的功能很少时,继承和组合的方式都行。当目标的功能非常多,只需要转换一小部分功能,同时要求保留目标原有大部分的功能,最好使用继承的方式。当目标的功能非常多,只需要转换一小部分功能,并不要求保留目标原有大部分功能,最好使用组合的方式。适配器模式常用于将不好用的功能或数据转换成合适易用的功能或数据。

namespace struct_mode_04 {

    // 接口
    interface IAlternator {
        sendElectricity(): void
    }

    class FiveThousandVTower {

        sendElectricity() {
            console.log('放电:放射~~~~5000V')
        }
    }

    class TowerAdapter implements IAlternator {

        private fiveThousandVTower = new FiveThousandVTower()

        sendElectricity(): void {
            this.fiveThousandVTower.sendElectricity()

            console.log('将5000v电转换。。。')

            console.log('转换成为了 220V 的家用电')
        }

    }

    class TowerAdapter2 extends FiveThousandVTower {

        sendElectricity() {
            super.sendElectricity()

            console.log('将5000v电转换。。。')

            console.log('转换成为了 36V 的小功率电')
        }
    }

    // 使用一:对象适配器
    const towerAdapter = new TowerAdapter()
    towerAdapter.sendElectricity()

    // 使用二:类适配器
    const towerAdapter2 = new TowerAdapter2()
    towerAdapter2.sendElectricity()

}
#设计模式
上次更新时间: 10年18月2023日 01时57分53秒
装饰器模式
享元模式

← 装饰器模式 享元模式 →

最近更新
01
01.数据结构导论一览.md
10-16
02
30.2023年06月04日.md
06-04
03
08.与测量相关.md
05-06
更多文章>
Theme by Vdoing | Copyright © 2017-2023 aiyoudiao 码二 备案号: 鄂ICP备2022002654号-1