C++ 外观模式
外观模式定义
- 外观模式提供了一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层接口,让子系统更容易使用。
- 个人理解:外观模式,实际就是添加一层封装 比较简单
外观模式实例
比较简单,所以就直接上代码
头文件:
#include "stdafx.h"
//走路
class Walk
{
public:
void action();
};
//公交
class Bus
{
public:
void action();
};
//学习
class Study
{
public:
void action();
};
//放学
class LeaveClass
{
public:
void action();
};
//吃饭
class Eat
{
void action();
};
//外观类
class VisualInterface
{
public:
void BoyAction();
void GirlAction();
private:
Bus m_bus;
Eat m_eat;
LeaveClass m_leave;
Study m_study;
Walk m_walk;
};
using namespace std;
实现文件:
// VisualMode.cpp : 定义控制台应用程序的入口点。
// 外观模式
#include "stdafx.h"
#include "VisualMode.h"
using namespace std;
void Bus::action()
{
cout << "乘公交" << endl;
}
void Eat::action()
{
cout << "吃饭" << endl;
}
void LeaveClass::action()
{
cout << "下课" << endl;
}
void Walk::action()
{
cout << "走路" << endl;
}
void Study::action()
{
cout << "学习" << endl;
}
void VisualInterface::BoyAction()
{
cout << "Boy 操作:" << endl;
m_study.action();
m_bus.action();
}
void VisualInterface::GirlAction()
{
cout << "Girl 操作:" << endl;
m_walk.action();
m_leave.action();
}
int _tmain(int argc, _TCHAR* argv[])
{
VisualInterface cur_Vis;
cur_Vis.BoyAction();
cur_Vis.GirlAction();
system("pause");
return 0;
}
运行结果: