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;
    }
  • 相关阅读:
    AVLTree的实现以及左右旋转维持自平衡
    哈希函数之布隆过滤器
    LeetCode——线段树解决区间总和问题
    第23章 Windows身份验证
    第22章 使用外部身份提供商登录
    第21章 登录
    第20章 定义客户端
    第19章 定义资源
    第18章 启动
    第17章 社区快速入门和模板
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6979911.html
Copyright © 2011-2022 走看看