#define __CRT_SECURE_NO_WARNINGS
#include<iostream>
//#include<vld.h>
//using namespace std;
class SubSys1
{
public:
void Method1()
{
std::cout << "方法1" << std::endl;
}
};
class SubSys2
{
public:
void Method2()
{
std::cout << "方法2" << std::endl;
}
};
class SubSys3
{
public:
void Method3()
{
std::cout << "方法3" << std::endl;
}
};
class Facade
{
private:
SubSys1 *sub1;
SubSys2 *sub2;
SubSys3 *sub3;
public:
Facade()
{
sub1 = new SubSys1();
sub2 = new SubSys2();
sub3 = new SubSys3();
}
~Facade()
{
if (sub1 != nullptr)
{
delete sub1;
sub1 = nullptr;
}
if (sub2 != nullptr)
{
delete sub2;
sub2 = nullptr;
}
if (sub3 != nullptr)
{
delete sub3;
sub3 = nullptr;
}
}
void FacadeMethon()
{
sub1->Method1();
sub2->Method2();
sub3->Method3();
}
};
int main(int argc, char **argv)
{
Facade *facade = new Facade();
facade->FacadeMethon();
if (facade != nullptr)
{
delete facade;
}
return 0;
}
设计模式总篇-外观模式
猜你喜欢
转载自blog.csdn.net/wjl18270365476/article/details/104411330
今日推荐
周排行