《設計模式》學習筆記——外觀模式
阿新 • • 發佈:2018-12-17
外觀模式(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;
}