TypeScript | 设计模式06 - 适配器模式

简介: 适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。

前言

现实生活中存在设备的电压可能不同,为了满足需求我们可以使用一些电源适配器,如电源适配器,插头转换器等。这些中介设备其实就是我们要说的适配器模式一样道理,适配器模式的作用就是用来解决一些因无法互相兼容而一起工作的问题。

适配器模式

将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。

适配器UML类图

适配器模式.png

interface Target {
    sendPower(): void
}
class Power1 {
    public sendPower() {
        console.log('使用22V电源')
    }
}
class Power2 {
    public usePower() {
        console.log('使用22V电源')
    }
}
​
class AdapterTarget implements Target {
    sendPower(): void {
        console.log('转换22V电源');
        var power2: Power2 =new Power2();
        power2.usePower()
    }  
}
​
(()=>{
    var power1: Power1 =new Power1();
        power1.sendPower()
    var atr = new AdapterTarget();
    atr.sendPower();
})()

从代码中可以得到:power1 可以通过sendPower方式发送电源,其也符合Target期望的方式,但是power2没有只有usePower方式使用电源,所以就通过适配器模式,增加AdapterTarget类,将原目标Power2转换为目标角色想要的方式。

整个过程参与的角色:

  • 目标角色(Target)
  • 源角色:已存在的类或对象,且与目标对象不一致的角色
  • 适配器角色:适配器的核心,将源角色转化为目标角色支持的方式

应用场景:

  • 适配器模式适用正在服役的项目上,作系统扩展时使用
  • 项目中因使用mysql数据库,已构建类进行连接,访问或操作数据库,因需求要求可能需要能支持PostgreSQL数据库,这时就可以使用适配器模式新建类。

\

目录
相关文章
|
3月前
|
设计模式 Java API
重构旧代码的秘诀:用设计模式 - 适配器模式(Adapter)给Java项目带来新生
【4月更文挑战第7天】适配器模式是解决接口不兼容问题的结构型设计模式,通过引入适配器类实现目标接口并持有不兼容类引用,实现旧代码与新接口的协作。适用于处理兼容性问题、整合遗留代码和集成第三方库。应用时,识别不兼容接口,创建适配器类转换方法调用,然后替换原有引用。注意保持适配器简单、使用组合和考虑扩展性。过度使用可能导致系统复杂和维护成本增加,应谨慎使用。
55 4
|
3月前
|
设计模式 Java 中间件
23种设计模式,适配器模式的概念优缺点以及JAVA代码举例
【4月更文挑战第6天】适配器模式(Adapter Pattern)是一种结构型设计模式,它的主要目标是让原本由于接口不匹配而不能一起工作的类可以一起工作。适配器模式主要有两种形式:类适配器和对象适配器。类适配器模式通过继承来实现适配,而对象适配器模式则通过组合来实现
70 4
|
3月前
|
设计模式 Java
【设计模式】JAVA Design Patterns——Adapter(适配器模式)
【设计模式】JAVA Design Patterns——Adapter(适配器模式)
|
29天前
|
设计模式 Go 数据处理
iLogtail设计模式问题之在iLogtail中,为何需要使用适配器模式
iLogtail设计模式问题之在iLogtail中,为何需要使用适配器模式
|
2月前
|
设计模式
适配器模式-大话设计模式
适配器模式-大话设计模式
21 2
|
1月前
|
设计模式 JavaScript 前端开发
js设计模式【详解】—— 适配器模式
js设计模式【详解】—— 适配器模式
19 0
|
2月前
|
设计模式 Java Android开发
Java设计模式:适配器模式的三种形式(五)
Java设计模式:适配器模式的三种形式(五)
|
2月前
|
设计模式 Java
Java设计模式之适配器模式详解
Java设计模式之适配器模式详解
|
2月前
|
设计模式 程序员
结构型设计模式之适配器模式
结构型设计模式之适配器模式
|
3月前
|
设计模式 Java Go
【设计模式】适配器模式怎么理解?
【设计模式】适配器模式怎么理解?
34 1