桥接模式的目的是分离抽象实现部分,把数据和实现分开,降低耦合。桥接模式和适配器模式不同之处是,桥接模式一般会在软件设计初考虑使用,适配器模式在软件设计之后为了实现接口兼容时使用。

下面是系统和电脑之间的桥接模式的使用

#include <iostream>
using namespace std; class OS
{
public:
virtual void NameOS()
{ }
}; class WindowOS:public OS
{
public:
void NameOS()
{
cout << "安装Window操作系统" <<endl;
} }; class LinuxOS:public OS
{
public:
void NameOS()
{
cout << " 安装Linux操作系统" <<endl;
}
}; class UnixOS:public OS
{
public:
void NameOS()
{
cout << "安装Unix操作系统" <<endl;
}
}; class Computer
{
public:
Computer(OS *osptr):m_osPtr(osptr)
{ }
virtual void InstallOs() = ;
protected:
OS *m_osPtr;
}; class DellComputer:public Computer
{
public:
DellComputer(OS *osptr):Computer(osptr)
{ } void InstallOs()
{
cout << "Dell Computer" << endl;
m_osPtr->NameOS();
}
}; class ToshibaComputer:public Computer
{
public:
ToshibaComputer(OS *osptr):Computer(osptr)
{ }
void InstallOs()
{
cout << "ToShiBa Computer" << endl;
m_osPtr->NameOS();
}
}; int main()
{
DellComputer * DellPtr1 = new DellComputer(new WindowOS);
DellPtr1->InstallOs(); DellComputer * DellPtr2 = new DellComputer(new LinuxOS);
DellPtr2->InstallOs(); ToshibaComputer *ToshibaPtr1 = new ToshibaComputer(new WindowOS);
ToshibaPtr1->InstallOs(); ToshibaComputer *ToshibaPtr2 = new ToshibaComputer(new LinuxOS);
ToshibaPtr2->InstallOs(); system("pause"); return ;
}

输出结果:

Dell Computer
安装Window操作系统
Dell Computer
安装Linux操作系统
ToShiBa Computer
安装Window操作系统
ToShiBa Computer
安装Linux操作系统
请按任意键继续. . .

c++ 桥接模式(bridge)的更多相关文章

  1. 桥接模式(Bridge Pattern)

    1,定义           桥接模式(Bridge Pattern),也称为桥梁模式,其用意是将抽象化与实现化脱耦,使得两者可以独立的变化,它可以使软件系统沿着多个方向进行变化,而又不引入额外的复杂 ...

  2. c#桥接模式(bridge结构模式)

    桥接模式(bridge结构模式)c#简单例子 在前面的玩家中每增加一个行为,就必须在每个玩家中都增加,通过桥接模式将行为提取出来了,减少变化 ? 1 2 3 4 5 6 7 8 9 10 11 12 ...

  3. 乐在其中设计模式(C#) - 桥接模式(Bridge Pattern)

    原文:乐在其中设计模式(C#) - 桥接模式(Bridge Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 桥接模式(Bridge Pattern) 作者:webabcd 介绍 ...

  4. 【设计模式】桥接模式 Bridge Pattern

    开篇还是引用吕振宇老师的那篇经典的文章<设计模式随笔-蜡笔与毛笔的故事>.这个真是太经典了,没有比这个例子能更好的阐明桥接模式了,这里我就直接盗来用了. 现在市面上卖的蜡笔很多,各种型号, ...

  5. 桥接模式-Bridge(Java实现)

    桥接模式-Bridge 桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦, 将"类的功能层次结构" 与 "类的实 ...

  6. 二十四种设计模式:桥接模式(Bridge Pattern)

    桥接模式(Bridge Pattern) 介绍将抽象部分与它的实现部分分离,使它们都可以独立地变化. 示例有一个Message实体类,对它的操作有Insert()和Get()方法,现在使这些操作的抽象 ...

  7. python 设计模式之桥接模式 Bridge Pattern

    #写在前面 前面写了那么设计模式了,有没有觉得有些模式之间很类似,甚至感觉作用重叠了,模式并不是完全隔离和独立的,有的模式内部其实用到了其他模式的技术,但是又有自己的创新点,如果一味地认为每个模式都是 ...

  8. 桥接模式(Bridge、Implementor)(具体不同平台日志记录,抽象与实现分离)

    桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化.它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式 ...

  9. 桥接模式/bridge模式/对象结构型

    意图 将抽象部分与它的实现部分分离,使它们都可以独立的变化. 动机 当一个抽象类有多个实现时,通常用继承来协调它们.但是继承机制将抽象和实现固定,难以对抽象部分和实现部分独立地进行修改.扩充和重用. ...

  10. Net设计模式实例之桥接模式( Bridge Pattern)

    一.桥接模式简介(Brief Introduction) 桥接模式(Bridge Pattern),将抽象部分与它的实现部分分离,使的抽象和实现都可以独立地变化. Decouple an abstra ...

随机推荐

  1. 使用stm32F4Discovery 的stlink v2给其他板子调试

    不适用stm8. 1. 拔掉 CN3 的 跳线帽 2.CN2 的 原理图 3.按照2中的原理图和板子(核心板stm32c8t6),实际上我这边连接使用的结果是: 4. 5. 6.相关资料: 链接:ht ...

  2. 剑指offer-第四章解决面试题思路(复杂链表的复制)

    题目:请写一个函数clone(ComplexListNode pHead),实现复杂链表的复制. 复杂链表的数据结构如下:public class ComplexListNode{int m_nVal ...

  3. wifi文件传输

    步骤: 1.下载CocoaHTTPServer 2.解压后,将CocoaHTTPServer-master目录下的Core导入工程. 3.打开Samples/SimpleFileUploadServe ...

  4. loj #6136. 「2017 山东三轮集训 Day4」Left

    题目: 题解: 我们可以发现所有的交换器都是一个位置连接着下一层左侧的排序网络,另一个位置连着另一侧的排序网络. 而下一层是由两个更低阶的排序网络构成的. 两个网络互不干扰.所以我们可以通过第一行和最 ...

  5. LA4992 Jungle Post

    题意 PDF 分析 炸连续的比炸单独的好. 二分答案,每种炸连续的构成一些半平面,判断半平面交是否为空. 时间复杂度\(O(T n \log^2)\) 代码 这题卡常,排序的时候必须事先算出幅角,不然 ...

  6. ZenCoding[Emmet]語法簡介【轉】

    快速指南 下面是一些常用的Zen Coding功能,目前VS2013的Web Essentials插件已经支持. '#' 创建一个id特性 '.' 创建一个类特性 '[]' 创建一个自定义特性 '&g ...

  7. 十大Java人物

    James Gosling : Java之父文/陶文 作 为Java之父,James Gosling的名字可谓是耳熟能详.当人们评论一种编程语言时,总喜欢捎带着把下蛋的母鸡一起带上.Java做为中国的 ...

  8. python3 之 linux命令实现

    os.mkdir(path[, mode]) 以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制) # 创建多级目录 mkdir -p dir1/dir2 ...

  9. 【openCV学习笔记】【2】读取并播放一段视频

    #include <iostream> #include <opencv/highgui.h> int main(int argc, char** argv){ cvNamed ...

  10. nagios 监控shell脚本

    线上应用shell脚本 参考链接:http://os.51cto.com/art/201301/376725.htm 0--各方面都正常,检查成功完成. 1--资源处于警告状态.某个地方不太妙. 2- ...