zoukankan      html  css  js  c++  java
  • 桥接模式 bridge pattern

      桥接模式是将抽象部分(abstraction)与实现(implementation)部分分离(解耦合),使他们可以独立的变化。

    车安装发动机:不同型号的车,安装不同型号的发动机。

    将"车安装发动机"这个抽象和实现进行分离,两个名字就设计两个类。

    class Engine
    {
     public:
         virtual void InstallEngine() = 0;      
    };
    
    class Engine4400cc : public Engine
    {
     public:
         virtual void InstallEngine()
        {
             std::cout<<"4400cc 发动机"<<std::endl;
        }
    };
    
    class Engine4500cc : public Engine
    {
     public:
         virtual void InstallEngine()
        {
             std::cout<<"4500cc 发动机"<<std::endl;
        }
    };
    
    class Car
    {
    public:
       Car(Engine *engine)
       {
             this->m_engine = engine;
       }
       virtual void installEngine() = 0;
    private:
       Engine *m_engine;
    };
    class WBM5 : public Car { public: WBM5(Engine *engine) : Car(engine) { ; } virtual void installEngine() { m_engine->installEngine(); } }
    Engine *engine = NULL;
    WBM5 *wbm5 = NULL;
    engine = new Engine4400cc();
    wbm5 = new WBM5(engine);
    wbm5->installEngine();
    delete wbm5;
    delete engine;
  • 相关阅读:
    适配器模式
    显示实现接口
    Mysql表引擎的切换
    Mysql事务隔离级别
    按照指定的格式解析字节数组
    委托和事件的简单实用
    C#压缩和解压缩字节(GZip)
    Mysql数据库批量添加数据
    常用的分页类
    保证依赖的服务已全部启动
  • 原文地址:https://www.cnblogs.com/mathyk/p/9774701.html
Copyright © 2011-2022 走看看