码迷,mamicode.com
首页 > 其他好文 > 详细

Facade模式

时间:2015-07-16 19:47:12      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:设计模式   facade   外观模式   design-pattern   

在开发时,有时已经实现了一些接口,这些接口分布在不同的类或模块中。客户在使用时,需要使用几个接口的组合,但是并不关心这些接口在哪,怎么实现这些接口的。为了便于客户使用,给客户提供一个一致的界面,可以使用Facade模式。此模式定义了一个高层接口,使得子系统更加容易使用。

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;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

Facade模式

标签:设计模式   facade   外观模式   design-pattern   

原文地址:http://blog.csdn.net/kangroger/article/details/46915943

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!