代码实现:
#include <iostream>
#include <list>
#include <string>
using namespace std;
class SubsystemA
{
public:
void doThing()
{
cout << "SubsystemA do thing" << endl;
}
};
class SubsystemB
{
public:
void doThing()
{
cout << "SubsystemB do thing" << endl;
}
};
class SubsystemC
{
public:
void doThing()
{
cout << "SubsystemC do thing" << endl;
}
};
class Facade
{
public:
Facade()
{
subsystemA = new SubsystemA;
subsystemB = new SubsystemB;
subsystemC = new SubsystemC;
}
~Facade()
{
delete subsystemA;
delete subsystemB;
delete subsystemC;
}
void doThing() {
subsystemA->doThing();
subsystemB->doThing();
subsystemC->doThing();
private:}
SubsystemA* subsystemA;
SubsystemB* subsystemB;
SubsystemC* subsystemC;
};
void main()
{
Facade* facade = new Facade;
facade->doThing();
}
本文介绍了一种软件设计模式——门面模式,通过创建一个统一的接口来封装子系统的复杂性,使得客户端能够更简单地与子系统交互。演示了如何使用C++实现门面模式,包括Subsystem A、B、C三个子系统的具体实现。
&spm=1001.2101.3001.5002&articleId=79510768&d=1&t=3&u=5b59d784daec4b70bee2490f1ad08b9f)
578

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



