设计模式-适配器模式

简介: 设计模式-适配器模式
/*
适配器模式:让不兼容的接口可以在一起工作
*/
class VGA //VGA接口类
{
public:
  virtual void play() = 0;
};
//TV01表示支持VGA接口的投影仪
class TV01 : public VGA
{
public:
  void play()
  {
    cout << "通过VGA接口连接投影仪,进行视频播放" << endl;
  }
};
//实现一个电脑类(只支持VGA接口)
class Computer
{
public:
  //由于电脑只支持VGA接口,所以该方法的参数也只能支持VGA接口的指针/引用
  void playVideo(VGA *pVGA)
  {
    pVGA->play();
  }
};
/*
方法1:换一个支持HDMI接口的电脑
方法2:买一个转换头(适配器),能够把VGA转成HDMI信号
*/
//进了一批新的投影仪,但是新的投影仪都是只支持HDMI接口
class HDMI
{
public:
  virtual void play() = 0;
};
class TV02 : public HDMI
{
public:
  void play()
  {
    cout << "通过HDMI接口连接投影仪,进行视频播放" << endl;
  }
};
//由于电脑(VGA接口)和投影仪(HDMI接口)无法直接相连,所以需要添加适配器类
class VGAToHDMIAdapter : public VGA
{
public:
  VGAToHDMIAdapter(HDMI *p) : pHdmi(p) {}
  void play()//该方法相当于就是转换头,做不同接口的信号转换的
  {
    pHdmi->play();
  }
private:
  HDMI *pHdmi;
};
int main()
{
  Computer computer;
  computer.playVideo(new TV01());
  computer.playVideo(new VGAToHDMIAdapter(new TV02()));
  return 0;
}
相关文章
|
设计模式 前端开发 Java
【设计模式】【结构型模式】适配器模式(Adpter)
一、入门 什么是适配器模式? 适配器模式是Java中常用的结构型设计模式,它的核心作用就像现实中的电源转换器一样---让原本不兼容的两个接口能够协同工作。 为什么要用适配器模式? 假设我们需要在电商系
314 10
|
设计模式 Java 开发者
「全网最细 + 实战源码案例」设计模式——适配器模式
适配器模式(Adapter Pattern)是一种结构型设计模式,通过引入适配器类将一个类的接口转换为客户端期望的另一个接口,使原本因接口不兼容而无法协作的类能够协同工作。适配器模式分为类适配器和对象适配器两种,前者通过多重继承实现,后者通过组合方式实现,更常用。该模式适用于遗留系统改造、接口转换和第三方库集成等场景,能提高代码复用性和灵活性,但也可能增加代码复杂性和性能开销。
624 28
|
设计模式 Java
【设计模式】JAVA Design Patterns——Adapter(适配器模式)
【设计模式】JAVA Design Patterns——Adapter(适配器模式)
|
设计模式 JSON 前端开发
前端必须掌握的设计模式——适配器模式
适配器模式是一种结构型设计模式,用于使接口不兼容的对象能够相互合作。通过在客户端和系统之间引入一个“中间层”适配器,将不同类型的输入数据转换为系统能处理的标准格式,减轻系统的负担,提高扩展性和可维护性。例如,MacBook的扩展坞将多种接口(如HDMI、USB)转换为Type-C接口,实现多接口兼容。
|
设计模式 Java 程序员
Java设计模式-适配器模式(8)
Java设计模式-适配器模式(8)
174 2
|
设计模式 Java
设计模式--适配器模式 Adapter Pattern
这篇文章介绍了适配器模式,包括其基本介绍、工作原理以及类适配器模式、对象适配器模式和接口适配器模式三种实现方式。
|
设计模式 XML 存储
【六】设计模式~~~结构型模式~~~适配器模式(Java)
文章详细介绍了适配器模式(Adapter Pattern),这是一种结构型设计模式,用于将一个类的接口转换成客户期望的另一个接口,使原本不兼容的接口能够一起工作,提高了类的复用性和系统的灵活性。通过对象适配器和类适配器两种实现方式,展示了适配器模式的代码应用,并讨论了其优点、缺点以及适用场景。
|
设计模式 Java
Java设计模式之适配器模式
这篇文章详细讲解了Java设计模式中的适配器模式,包括其应用场景、实现方式及代码示例。
297 0
|
设计模式
适配器模式-大话设计模式
适配器模式-大话设计模式
161 2
|
设计模式 Java Go
【设计模式】适配器模式怎么理解?
【设计模式】适配器模式怎么理解?
208 1