//
// Created by win10 on 2021/11/16.
//
#include <thread>
#include <iostream>
using namespace std;
/* 外观模式
*
*/
class SubSysOne {
public:
void method1() {
std::cout << "method 1" << std::endl;
}
};
class SubSysTwo {
public:
void method2() {
std::cout << "method 2" << std::endl;
}
};
class SubSysThree {
public:
void method3() {
std::cout << "method 3" << std::endl;
}
};
// 外观类
class Facade {
public:
Facade() {
this->one = new SubSysOne();
this->two = new SubSysTwo();
this->three = new SubSysThree();
}
virtual ~Facade() {
delete this->one;
delete this->two;
delete this->three;
}
void show() {
this->one->method1();
this->two->method2();
this->three->method3();
}
private:
SubSysOne* one;
SubSysTwo* two;
SubSysThree* three;
};
int main() {
Facade* fac = new Facade();
fac->show();
delete fac;
return 0;
}