C++23种设计模式(10)-桥接模式

C++23种设计模式(10)-桥接模式将抽象部分与它的实现部分分离 使它们都可以独立地变化 考虑装操作系统 有多种配置的计算机 同样也有多款操作系统 如何运用桥接模式呢 可以将操作系统和计算机分别抽象出来 让它们各自发展 减少它们的耦合度 当然了 两者之间有标准的接口 这样设计 不论是对于计算机 还是操作系统都是非常有利的 include iostream include string usingnamespa 操作系统 classOS public virtualvoidI string iostream

将抽象部分与它的实现部分分离,使它们都可以独立地变化。考虑装操作系统,有多种配置的计算机,同样也有多款操作系统。如何运用桥接模式呢?可以将操作系统和计算机分别抽象出来,让它们各自发展,减少它们的耦合度。当然了,两者之间有标准的接口。这样设计,不论是对于计算机,还是操作系统都是非常有利的。

#include 
     #include 
     using namespace std; //操作系统 class OS { 
    public: virtual void InstallOS_Imp() { 
   } }; class WindowOS : public OS { 
    public: void InstallOS_Imp() { 
    cout << "安装Window操作系统" << endl; } }; class LinuxOS : public OS { 
    public: void InstallOS_Imp() { 
    cout << "安装Linux操作系统" << endl; } }; class UnixOS : public OS { 
    public: void InstallOS_Imp() { 
    cout << "安装Unix操作系统" << endl; } }; //计算机 class Computer { 
    public: virtual void InstallOS(OS *os) { 
   } }; class DellComputer : public Computer { 
    public: void InstallOS(OS *os) { 
    os->InstallOS_Imp(); } }; class AppleComputer : public Computer { 
    public: void InstallOS(OS *os) { 
    os->InstallOS_Imp(); } }; class HPComputer : public Computer { 
    public: void InstallOS(OS *os) { 
    os->InstallOS_Imp(); } }; int main() { 
    OS *os1 = new WindowOS(); OS *os2 = new LinuxOS(); Computer *computer1 = new AppleComputer(); computer1->InstallOS(os1); computer1->InstallOS(os2); getchar(); return 0; } 

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228958.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午5:48
下一篇 2026年3月16日 下午5:48


相关推荐

  • 设计模式、框架、架构、平台的区别「建议收藏」

    设计模式、框架、架构、平台的区别「建议收藏」区分什么是架构、框架、模式和平台,一直都感觉这几个词过于抽象和模糊,今天大家来说说到底什么是架构、框架、模式和平台? 收集了的一些来自网上各自的定义和区分如下: 设计模式 1、设计模式为什么要先说设计模式?因为设计模式在这些概念中是最基本的,而且也比较简单。那么什么是设计模式呢?说的直白点,设计模式就是告诉你针对特定问题如何组织类、对象和接口之间的关系,是前人总结的经验

    2022年10月10日
    4
  • 设计模式六大原则——迪米特法则(LoD)

    设计模式六大原则——迪米特法则(LoD)

    2022年1月28日
    49
  • JS工厂模式_工厂模式进行封装

    JS工厂模式_工厂模式进行封装JS设计模式一:工厂模式

    2022年4月21日
    82
  • C++ 23种设计模式(6)-适配器模式

    C++ 23种设计模式(6)-适配器模式适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。它包括类适配器和对象适配器,本文针对的是对象适配器。举个例子,在STL中就用到了适配器模式。STL实现了一种数据结构,称为双端队列(deque),支持前后两段的插入与删除。STL实现栈和队列时,没有从头开始定义它们,而是直接使用双端队列实现的。这里双端队列就扮演了适配器的角色。队列用到了它的后端插入,前端删除。而栈用到了它的后端插入,后端删除。假设栈和队列都是一种顺序容器,有两种操作:压入和弹出。

    2022年7月25日
    14
  • MVC设计模式总结

    MVC设计模式总结一 概述 nbsp nbsp MVC Modle View Controller 最初应用于桌面程序设计中 是 XeroxPARc 在 20 世纪 80 年代为编程语言 Smalltalk 80 发明的一种软件设计模式 MVC 将系统分解为业务模型 Modle 用户界面即视图 View 控制器 Controller 三部分 每一部分相对独立 职责单一 MVC 的思想实质就是 关注点分离 即将 M 和 V 的实现代码分离 从而

    2026年3月17日
    2
  • 设计模式之桥接(bridge)模式

    在现实生活中,我们常常会用到两种或多种类型的笔,比如毛笔和蜡笔。假设我们需要大、中、小三种类型的画笔来绘制12中不同的颜色,如果我们使用蜡笔,需要准备3*12=36支。但如果使用毛笔的话,只需要提供3

    2021年12月19日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号