在开发阶段子系统会因为不断地重构变得越来越复杂,模式使用时会产生大量的小类,使用外观模式可以减少它们之间的依赖。外观模式,重点在于分层,层与层之间建立外观。这样两个不同的复杂层之间,使用简单的接口。其次、维护一个遗留系统时,提供一个外观,让新系统与外观交互,会使得接口简单清晰。
#include <iostream>
class SubA
{
public:
void methodA()
{
printf("methodA!\n");
}
};
class SubB
{
public:
void methodB()
{
printf("methodB!\n");
}
};
class SubC
{
public:
void methodC()
{
printf("methodC!\n");
}
};
//外观类
class Facade
{
public:
void method1()
{
printf("方法一被调用-----------\n");
m_A.methodA();
m_B.methodB();
}
void method2()
{
printf("方法二被调用-----------\n");
m_B.methodB();
m_C.methodC();
}
private:
SubA m_A;
SubB m_B;
SubC m_C;
};
int main()
{
Facade facade;
facade.method1();
facade.method2();
return 0;
}