(八)外观模式
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
#include<iostream>
using namespace std;
//(七)外观模式
//为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
class SubSysOne
{
public:
void MethodOne()
{
cout<<"方法一"<<endl;
}
};
class SubSysTwo
{
public:
void MethodTwo()
{
cout<<"方法二"<<endl;
}
};
class SubSysThree
{
public:
void MethodThree()
{
cout<<"方法三"<<endl;
}
};
//外观类
class Facade
{
private:
SubSysOne* sub1;
SubSysTwo* sub2;
SubSysThree* sub3;
public:
Facade()
{
sub1 = new SubSysOne();
sub2 = new SubSysTwo();
sub3 = new SubSysThree();
}
~Facade()
{
delete sub1;
delete sub2;
delete sub3;
}
void FacadeMethod()
{
sub1->MethodOne();
sub2->MethodTwo();
sub3->MethodThree();
cout<<endl;
}
void FacadeMethodone()
{
sub2->MethodTwo();
sub3->MethodThree();
cout<<endl;
}
void FacadeMethodtwo()
{
sub1->MethodOne();
sub3->MethodThree();
cout<<endl;
}
void FacadeMethodthree()
{
sub1->MethodOne();
sub2->MethodTwo();
cout<<endl;
}
};
//客户端
int main()
{
Facade* test = new Facade();
test->FacadeMethod();
test->FacadeMethodone();
test->FacadeMethodtwo();
test->FacadeMethodthree();
return 0;
}