zoukankan      html  css  js  c++  java
  • Facade模式

    在开发时,有时已经实现了一些接口,这些接口分布在不同的类或模块中。

    客户在使用时,须要使用几个接口的组合。可是并不关心这些接口在哪,怎么实现这些接口的。为了便于客户使用,给客户提供一个一致的界面。能够使用Facade模式。此模式定义了一个高层接口,使得子系统更加easy使用。

    Facade模式的类结构图例如以下:
    这里写图片描写叙述
    事实上现例如以下:

    //Facade.h

    //Facade.h
    
    #ifndef _FACADE_H_
    #define _FACADE_H_
    class Subsystem1
    {
    public:
        void Operation();
    };
    
    class Subsystem2
    {
    public:
        void Operation();
    };
    class Facade
    {
    public:
        Facade();
        ~Facade();
        void WrapperOperation();
    private:
        Subsystem1* sub1;
        Subsystem2* sub2;
    };
    
    
    #endif

    //Facade.cpp

    //Facade.cpp
    
    #include "Facade.h"
    #include<iostream>
    using std::cout;
    using std::endl;
    
    
    void Subsystem1::Operation()
    {
        cout<<"Subsystem1 Operation"<<endl;
    }
    
    
    void Subsystem2::Operation()
    {
        cout<<"Subsystem2 Operation"<<endl;
    }
    Facade::Facade()
    {
        sub1=new Subsystem1();
        sub2=new Subsystem2();
    }
    Facade::~Facade()
    {}
    void Facade::WrapperOperation()
    {
        cout<<"Facade Operation"<<endl;
        sub1->Operation();
        sub2->Operation();
    }

    //main.cpp

    //main.cpp
    #include"Facade.h"
    
    int main()
    {
        Facade* fa=new Facade();
        fa->WrapperOperation();
        return 0;
    }
  • 相关阅读:
    动词的形态及变化(转)
    数论基础
    P1505 [国家集训队]旅游
    贪心常见题
    主席树
    卡常火车头
    AC自动机
    左偏树
    位运算
    Linux下Vim常用操作
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6979911.html
Copyright © 2011-2022 走看看