key:外观模式有效的隔离内部复杂的子系统
外观模式有效的隔离了内部复杂系统和外部应用请求,封装了对内部子系统的接口调用,使得外部应用的调用变的更加方便、简单。大大降低了外部应用和内部复杂子系统之间的耦合度,为软件系统的后期维护升级提供了很好的弹性。举例如下,一个tank有很多的子系统,例如通信系统,制动系统,武器系统等复杂的子系统,如果不加以外观,那么使用的时候要生成很多的子系统的对象,然后在调用相应的对象的接口。而如果使用了外观模式,把系统都封装起来,可以通过一个外观对象调用所有的接口,这样,使用起来就会很方便。也会方便以后的维护。
类图如下:

代码如下:
#include <iostream>
using namespace std;
class CommunicateSys
{
public:
void run()
{cout<<"communicate system run!"<<endl;};
};
class EnginSys
{
public:
void run()
{cout<<"engin system run!"<<endl;};
};
class TankFacade
{
private:
CommunicateSys *con;
EnginSys *eng;
public:
void engRun()
{
eng= new EnginSys();
eng->run();
};
void conRun()
{
con = new CommunicateSys();
con->run();
};
};
int main()
{
TankFacade *tankFacade = new TankFacade();
tankFacade->engRun();
tankFacade->conRun();
return 0;
}
本文介绍如何利用外观模式来降低外部应用与内部复杂子系统间的耦合度,通过一个坦克系统的实例演示如何实现这一目标,使得外部应用能够更方便地调用内部子系统的接口。
外观模式(Facade Pattern)&spm=1001.2101.3001.5002&articleId=7799040&d=1&t=3&u=565a31fd28344f40b3bc1d317c33fd86)
2723

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



