我学会了,适配器模式

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

前言

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

适配器模式

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

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

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()

}
目录
相关文章
|
Web App开发 iOS开发
ios系统微信分身怎么弄 微信多开分身
随着微信成为了必备的社交软件,使用微信的人也越来越多。但是,微信一直只允许在一个设备上登录一个账号,这就给那些需要同时管理多个微信账号的用户带来了不少不便。 相信大家都遇到过这种问题 微信作为一款通讯工具,在生活和工作中发挥的作用越来越重要,一些有特殊需求的人,可能要用到两个以上的微信,为了满足这部分用户的需求,在苹果手机上出现了一种叫做“微信多开”或“苹果微信分身”的应用,可以让用户在一个设备上同时登录多个微信账号,方便用户快捷管理不同的微信号码。 本文将为大家介绍如何使用苹果微信多开教程,让你的苹果设备可以同时登录多个微信账号
1654 0
|
人工智能 自然语言处理 搜索推荐
AI在教育中的潜力与挑战:开启智慧教育的新时代
AI在教育中的潜力与挑战:开启智慧教育的新时代
1292 19
|
移动开发 JavaScript 前端开发
分享21个JS抽奖转盘特效,36个JS表单验证,31个JS进度条,总有一款适合您
分享21个JS抽奖转盘特效,36个JS表单验证,31个JS进度条,总有一款适合您
279 0
|
JavaScript 前端开发 程序员
vue-element-admin 运行并且打包部署
vue-element-admin 运行并且打包部署
664 0
|
弹性计算 运维 程序员
2核2G阿里云服务器价格多少?2024年阿里云61元一年2核2G3M配置云服务器测评参考
2核2G阿里云服务器价格多少?2024年阿里云61元一年2核2G3M配置云服务器测评参考。随着数字化浪潮的推进,云服务器已成为企业与个人开展线上业务不可或缺的基础设施。阿里云,作为国内云服务市场的佼佼者,其轻量应用服务器因其实用性与性价比受到了广泛关注。对于众多开发者与运维工程师而言,服务器的配置与价格始终是关注的焦点。那么,阿里云2核2G轻量应用服务器的价格究竟如何呢?
797 0
|
存储 弹性计算 负载均衡
【ESSD技术解读-04】ESSD Auto PL规格,引领IO性能弹性新方向
阿里云 ESSD 为云服务器 ECS 提供低时延、持久性和高可靠的块存储服务,成为云厂商全闪块存储的业界标杆。存储团队推出了 ESSD Auto PL 新的云盘规格,把性能与容量解耦,提供 IO 性能按需供给两大关键特性。AutoPL 具备的灵活性和弹性能力降低了 IT 规模规划难度和因规划不当带来的风险,本文详细介绍了Auto PL 新产品特性、揭秘背后的技术原理。
1678 1
|
人工智能 城市大脑 安全
城市大脑 | 城市交通治理解决方案
本文介绍了城市大脑 | 城市交通治理解决方案的方案概述,方案价值及优势和最佳实践。
城市大脑 | 城市交通治理解决方案
|
Python Windows
tesseract库的安装与使用及在python中使用
tesseract库的安装与使用及在python中使用
1859 0
tesseract库的安装与使用及在python中使用
|
程序员
这是我经历过最惨的转正答辩了
Hello 大家好,我是鸭血粉丝,试用期是每个刚入职的人都会经历的一段时间,时间不固定,少则一两月多则半年,具体的时间长短根据公司和个人表现不尽相同。而且试用期过后一般都会有一个转正答辩,这不阿粉最近就接到一个小伙伴的哭诉说转正答辩太难了,事情是这个样子的。
3616 0
这是我经历过最惨的转正答辩了
|
存储 SQL 消息中间件
网易:Flink + Iceberg 数据湖探索与实践
今天主要和大家交流的是网易在数据湖 Iceberg 的一些思考与实践。从网易在数据仓库建设中遇到的痛点出发,介绍对数据湖 Iceberg 的探索以及实践之路。
网易:Flink + Iceberg 数据湖探索与实践

热门文章

最新文章