1. 程式人生 > >《設計模式》學習筆記——外觀模式

《設計模式》學習筆記——外觀模式

 外觀模式(Facade Pattern),亦稱"過程模式"。外觀模式為一組具有類似功能的類群,比如類庫,子系統等,提供一個一致的簡單的介面。這個簡單的介面被稱之為facade。適用於:為子系統統一一套介面,使子系統更加容易使用。

Facade.h

#pragma once
#include<iostream>
#include<string>

// 子系統
class SubSystemA
{
public:
	SubSystemA() {};
	~SubSystemA() {};

	void doThing(void) { std::cout << "SubSystemA()" << std::endl; }

private:

};

// 子系統
class SubSystemB
{
public:
	SubSystemB() {};
	~SubSystemB() {};

	void doThing(void) { std::cout << "SubSystemB()" << std::endl; }

private:

};

// 子系統
class SubSystemC
{
public:
	SubSystemC() {};
	~SubSystemC() {};

	void doThing(void) { std::cout << "SubSystemC()" << std::endl; }

private:

};

class Facade
{
public:
	Facade() 
	{
		  m_sysA = new SubSystemA;
		  m_sysB = new SubSystemB;
		  m_sysC = new SubSystemC;
	};
	~Facade()
	{
		delete m_sysA;
		delete m_sysB;
		delete m_sysC;
	};
	void doThings() 
	{
		m_sysA->doThing();
		m_sysB->doThing();
		m_sysC->doThing();
	}
private:
	SubSystemA * m_sysA;
	SubSystemB * m_sysB;
	SubSystemC * m_sysC;
};

Facade.cpp

#include "Facade.h"

mainTest.cpp

#include<iostream>
#include"Facade.h"
 
int main(void)
{
	Facade* facade = new Facade;
	facade->doThings();
	delete facade;
	system("pause");
	return 0;
}