设计模式-适配器模式

简介: 设计模式-适配器模式
/*
适配器模式:让不兼容的接口可以在一起工作
*/
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;
}
相关文章
|
9月前
|
设计模式 Java API
重构旧代码的秘诀:用设计模式 - 适配器模式(Adapter)给Java项目带来新生
【4月更文挑战第7天】适配器模式是解决接口不兼容问题的结构型设计模式,通过引入适配器类实现目标接口并持有不兼容类引用,实现旧代码与新接口的协作。适用于处理兼容性问题、整合遗留代码和集成第三方库。应用时,识别不兼容接口,创建适配器类转换方法调用,然后替换原有引用。注意保持适配器简单、使用组合和考虑扩展性。过度使用可能导致系统复杂和维护成本增加,应谨慎使用。
131 4
|
18天前
|
设计模式 Java 开发者
「全网最细 + 实战源码案例」设计模式——适配器模式
适配器模式(Adapter Pattern)是一种结构型设计模式,通过引入适配器类将一个类的接口转换为客户端期望的另一个接口,使原本因接口不兼容而无法协作的类能够协同工作。适配器模式分为类适配器和对象适配器两种,前者通过多重继承实现,后者通过组合方式实现,更常用。该模式适用于遗留系统改造、接口转换和第三方库集成等场景,能提高代码复用性和灵活性,但也可能增加代码复杂性和性能开销。
67 28
|
2月前
|
设计模式 JSON 前端开发
前端必须掌握的设计模式——适配器模式
适配器模式是一种结构型设计模式,用于使接口不兼容的对象能够相互合作。通过在客户端和系统之间引入一个“中间层”适配器,将不同类型的输入数据转换为系统能处理的标准格式,减轻系统的负担,提高扩展性和可维护性。例如,MacBook的扩展坞将多种接口(如HDMI、USB)转换为Type-C接口,实现多接口兼容。
|
9月前
|
设计模式 Java
【设计模式】JAVA Design Patterns——Adapter(适配器模式)
【设计模式】JAVA Design Patterns——Adapter(适配器模式)
|
5月前
|
设计模式 Java 程序员
Java设计模式-适配器模式(8)
Java设计模式-适配器模式(8)
|
4月前
|
设计模式 Java
Java设计模式之适配器模式
这篇文章详细讲解了Java设计模式中的适配器模式,包括其应用场景、实现方式及代码示例。
79 0
|
5月前
|
设计模式 Java
设计模式--适配器模式 Adapter Pattern
这篇文章介绍了适配器模式,包括其基本介绍、工作原理以及类适配器模式、对象适配器模式和接口适配器模式三种实现方式。
|
6月前
|
设计模式 XML 存储
【六】设计模式~~~结构型模式~~~适配器模式(Java)
文章详细介绍了适配器模式(Adapter Pattern),这是一种结构型设计模式,用于将一个类的接口转换成客户期望的另一个接口,使原本不兼容的接口能够一起工作,提高了类的复用性和系统的灵活性。通过对象适配器和类适配器两种实现方式,展示了适配器模式的代码应用,并讨论了其优点、缺点以及适用场景。
|
8月前
|
设计模式
适配器模式-大话设计模式
适配器模式-大话设计模式
|
7月前
|
设计模式 Go 数据处理
iLogtail设计模式问题之在iLogtail中,为何需要使用适配器模式
iLogtail设计模式问题之在iLogtail中,为何需要使用适配器模式

热门文章

最新文章