首页 > 代码库 > Facade模式
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;
}
Facade模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。