当前位置: 首页 > news >正文

桥接模式(C++)

定义:桥接模式(Bridge Pattern)是一种结构型设计模式,它通过将抽象部分与它的实现部分分离,使它们都可以独立地变化。这种模式主要用于当系统的抽象部分和实现部分需要独立地进行扩展时,使得两者之间的耦合度降低。

        代码:

class Shape
{
public:virtual void drawShape() = 0;
};
class Rectangle : public Shape
{
public:virtual void drawShape() override{std::cout << " Rectangle  Draw" << std::endl;}
};
class Circle : public Shape
{
public:virtual void drawShape() override{std::cout << " Circle Draw" << std::endl;}
};
class Color
{
public:Color(Shape*pShape) : m_pShape(pShape){}virtual void drawColor() = 0;
protected:Shape *m_pShape = nullptr;
};
class Red : public Color
{
public:Red (Shape*pShape) : Color(pShape){}void drawColor(){m_pShape ->drawShape();}
};
class Blue : public Color
{
public:Blue (Shape*pShape) : Color(pShape){}void drawColor(){m_pShape ->drawShape();}
};
int main(int argc, char *argv[])
{Shape *pShapeObj = new Rectangle ();Color *pColorObj = new Red (pShapeObj);pColorObj ->drawColor();return 0;
}


http://www.mrgr.cn/news/49256.html

相关文章:

  • 架构设计笔记-12-信息系统架构设计理论与实践
  • Vue学习笔记
  • Claude 账号被封怎么办?被封的原因有哪些?国内不怕封号的方法
  • vue3集成electron
  • 如何在UE5中创建加载屏幕(开场动画)?
  • 如何进行JVM的调优
  • 如何通过 Nginx 只允许 www 域名访问并禁止裸域名访问
  • NVIDIA Bluefield DPU上的启动流程4个阶段分别是什么?作用是什么?
  • 400行程序写一个实时操作系统(四):观察运行中的Sparrow
  • Mapstruct的使用备忘【代替BeanUtils高效率属性拷贝】
  • 浅谈Java之UDP通信
  • 【解决】Win10右键“打开文件所在位置”报错“该文件没有与之关联的应用来执行该操作...”
  • 被装物联网系统|DW-S305系统是一套成熟系统
  • Cortex-M 内核的 OS 特性
  • 邮票鉴赏系统| 邮票鉴赏系统平台|基于java和vue的邮票鉴赏系统设计与实现(源码+数据库+文档)
  • 新手入门怎么炒股,新手炒股入门需要做哪些准备?
  • S4.2.6.2 LTSSM 之 Polling 状态
  • FPGA实现PCIE采集电脑端视频缩放后转千兆UDP网络输出,基于XDMA+PHY芯片架构,提供3套工程源码和技术支持
  • 宏基因组分析软件
  • 如何在数仓中处理缓慢变化维度(SCD)