美文网首页
c++桥接模式

c++桥接模式

作者: 一路向后 | 来源:发表于2021-02-14 21:12 被阅读0次

1.桥接模式简介

   桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。

2.源码实现

#include <iostream>
#include <string>

using namespace std;

class OS
{
public:
    virtual string GetOS() = 0;
};

class IOS : public OS
{
public:
    virtual string GetOS()
    {
        return "IOS Operator System";
    }
};

class SaiBian : public OS
{
public:
    virtual string GetOS()
    {
        return "SaiBian Operator System";
    }
};

class Phone
{
public:
    virtual void SetOS() = 0;
};

class iPhone : public Phone
{
public:
    iPhone(OS *os)
    {
        m_pOS = os;
    }
    ~iPhone(){};

    virtual void SetOS()
    {
        cout << "Set the OS: " << m_pOS->GetOS().c_str() << endl;
    }

private:
    OS *m_pOS;
};

class Nokia : public Phone
{
public:
    Nokia(OS *os)
    {
        m_pOS = os;
    }
    ~Nokia(){};

    virtual void SetOS()
    {
        cout << "Set the OS: " << m_pOS->GetOS().c_str() << endl;
    }

private:
    OS *m_pOS;
};

int main(int argc, char **argv)
{
    OS *pIOS1 = new IOS();
    Phone *iPhone4 = new iPhone(pIOS1);
    iPhone4->SetOS();

    delete iPhone4;
    delete pIOS1;

    OS *pSaiBian1 = new SaiBian();
    Phone *Nokia1 = new Nokia(pSaiBian1);
    Nokia1->SetOS();

    delete Nokia1;
    delete pSaiBian1;

    return 0;
}

3.编译源码

$ g++ -o example example.cpp

4.运行及其结果

$ ./example
Set the OS: IOS Operator System
Set the OS: SaiBian Operator System

相关文章

  • 桥接模式C++

    合成/聚合复用原则 合成/聚合复用原则(CARP):尽量使用合成/聚合,尽量不用使用类继承(这是一种强耦合)。优先...

  • c++桥接模式

    1.桥接模式简介    桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代...

  • 【C++设计模式】桥接模式

  • 桥接模式 C++实现

    桥接模式:将抽象部分与实现部分分离,使它们都可以独立的变化。主要解决:在有多种可能会变化的情况下,用继承会造成类爆...

  • 设计模式-桥接模式

    设计模式-桥接模式 定义 桥接模式(Bridge Pattern)也称为桥梁模式、接口(Interface)模式或...

  • 结构型模式:桥接模式

    文章首发:结构型模式:桥接模式 七大结构型模式之二:桥接模式。 简介 姓名 :桥接模式 英文名 :Bridge P...

  • 设计模式之桥接模式

    设计模式之桥接模式 1. 模式定义 桥接模式又称柄体模式或接口模式,它是一种结构性模式。桥接模式将抽象部分与实现部...

  • 06-01-001 虚拟机的网络连接方式(转运整理)

    一、Bridged(桥接模式) 什么是桥接模式?桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥...

  • 桥接模式与中介模式

    桥接模式-BRIDGE 对桥接模式感兴趣,是因为公司业务上需要桥接Html5和ReactNative两个平台。桥接...

  • 设计模式——桥接模式

    设计模式——桥接模式 最近公司组件分享设计模式,然而分配给我的是桥接模式。就在这里记录我对桥接模式的理解吧。 定义...

网友评论

      本文标题:c++桥接模式

      本文链接:https://www.haomeiwen.com/subject/qtluxltx.html