简介
观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度。
角色与职责

Facade:为方便调用,定义的统一包装接口
SubSyntem:功能提供者,指提供功能的类群。
使用场景
客户端与系统端解耦时,客户端不需要知道系统内部的复杂联系,整个系统只需提供一个"接待员"即可。
实现
#include <iostream>
#include <string>
using namespace std;
class SubSystemA {
public:
void doThing() {
cout << "SubSystemA run." << endl;
}
};
class SubSystemB {
public:
void doThing() {
cout << "SubSystemB run." << endl;
}
};
// 装饰类,对其他功能类进行装饰。
class Facade {
public:
Facade() {
m_sysA = new SubSystemA;
m_sysB = new SubSystemB;
}
~Facade() {
if (m_sysA != NULL) delete m_sysA;
if (m_sysB != NULL) delete m_sysB;
}
void doThing() {
m_sysA->doThing();
m_sysB->doThing();
}
private:
SubSystemA* m_sysA;
SubSystemB* m_sysB;
};
int main(int argc, char* argv[]) {
Facade* facade = new Facade;
facade->doThing();
delete facade;
cin.get();
return 0;
}
本文深入讲解了外观模式的概念,探讨了其如何降低类与类之间的耦合度,并通过C++代码示例展示了如何实现外观模式,使客户端能够通过简单的接口调用复杂的子系统功能。
1421

被折叠的 条评论
为什么被折叠?



