C++设计模式详解之外观模式解析

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;
}


运行结果:

发布了365 篇原创文章 · 获赞 80 · 访问量 35万+

猜你喜欢

转载自blog.csdn.net/Giser_D/article/details/103894948