外观模式
上帝对象:
外观模式为现有对象定义了一个新接口, 适配器模式则会试图运用已有的接口。 适配器通常只封装一个对象, 外观通常会作用于整个对象子系统上。
示例:
#include<iostream>
using namespace std;
class Sub_Work1//子工作1
{
public:
void Working1()
{
cout << "Doing Sub-Work1..." << endl;
}
};
class Sub_Work2//子工作2
{
public:
void Working2()
{
cout << "Doing Sub-Work2..." << endl;
}
};
class Sub_Work3//子工作3
{
public:
void Working3()
{
cout << "Doing Sub-Work3..." << endl;
}
};
class Sub_Work4//子工作4
{
public:
void Working4()
{
cout << "Doing Sub-Work4..." << endl;
}
};
class Work//总工作,客户与之打交道
{
private:
Sub_Work1 w1;
Sub_Work2 w2;
Sub_Work3 w3;
Sub_Work4 w4;
public:
void Work1()//总工作1
{
w1.Working1();
w3.Working3();
}
void Work2()//总工作2
{
w2.Working2();
w3.Working3();
w4.Working4();
}
};
int main()//client程序
{
Work w;
/*******总工作1******/
cout << "开始调用总工作1" << endl;
w.Work1();
/*******总工作2******/
cout << endl << "开始调用总工作2" << endl;
w.Work2();
getchar();
return 0;
}
输出:
开始调用总工作1
Doing Sub-Work1...
Doing Sub-Work3...
开始调用总工作2
Doing Sub-Work2...
Doing Sub-Work3...
Doing Sub-Work4...
参考:
浙公网安备 33010602011771号