外观模式
//外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。
//将多个子系统封装起来,提供一个更简洁的接口供外部调用。
#include <iostream>
#include <string>
using namespace std;
class jecket {
public:
void wear() {
cout << "穿上衣" << endl;
}
void takeoff() {
cout << "脱上衣" << endl;
}
};
class trousers {
public:
void wear() {
cout << "穿裤子" << endl;
}
void takeoff() {
cout << "脱裤子" << endl;
}
};
class shoes {
public:
void wear() {
cout << "穿鞋子" << endl;
}
void takeoff() {
cout << "脱鞋子" << endl;
}
};
class Facade {
private:
jecket* jk;
trousers* tr;
shoes* so;
public:
Facade() {
jk = new jecket;
tr = new trousers;
so = new shoes;
}
void Wear() {
jk->wear();
tr->wear();
so->wear();
}
void TakeOff() {
jk->takeoff();
tr->takeoff();
so->takeoff();
}
};
int main() {
Facade* fa = new Facade;
fa->Wear();
fa->TakeOff();
return 0;
}