码迷,mamicode.com
首页 > 其他好文 > 详细

14结构型模式之外观模式

时间:2019-02-09 22:48:42      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:适用于   调用接口   clu   src   mes   等等   使用   外观   com   

概念

   Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种。Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade。

 

角色和职责

技术图片

 

Fa?ade

为调用方, 定义简单的调用接口。

Clients

     调用者。通过Facade接口调用提供某功能的内部类群。

Packages

     功能提供者。指提供功能的类群(模块或子系统)

 

适用于:

  为子系统中统一一套接口,让子系统更加容易使用。

 

 

案例

//实现多个子系统的封装

#include <iostream>
using namespace std;

class SystemA
{
public:
	void doThing()
	{
		cout << "systemA do...." << endl;
	}
};

class SystemB
{
public:
	void doThing()
	{
		cout << "systemA do...." << endl;
	}
};

class SystemC
{
public:
	void doThing()
	{
		cout << "systemA do...." << endl;
	}
};

class Facade
{
public:
	Facade()
	{
		a = new SystemA;
		b = new SystemB;
		c = new SystemC;
	}
	~Facade()
	{
		delete a;
		delete b;
		delete c;
	}

	void doThing()
	{
		a->doThing();
		b->doThing();
		c->doThing();
	}

protected:
private:
	SystemA *a;
	SystemB *b;
	SystemC *c;
};


void main1414()
{
	/*
	SystemA *a = new SystemA;
	SystemB *b = new SystemB;
	SystemC *c = new SystemC;

	a->doThing();
	b->doThing();
	c->doThing();

	delete a;
	delete b;
	delete c;
	*/

	Facade *f = new Facade;
	f->doThing();
	delete f;
	cout<<"hello..."<<endl;
	system("pause");
	return ;
}

  

 

14结构型模式之外观模式

标签:适用于   调用接口   clu   src   mes   等等   使用   外观   com   

原文地址:https://www.cnblogs.com/gd-luojialin/p/10357998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!