外观模式
外观模式定义
定义:为子系统提供了一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口是的子系统使用更加方便。
uml图:
在设计开始时,就应该意识到将不同的两层分离,例如经典的三层架构,需要考虑数据访问层和业务逻辑层,业务逻辑层和表示层之间建立外观Facade,这样可以为复杂的子系统提供一个简单的接口,大大减小了耦合度。而在后续的开发过程中,会陆续增加新的子系统重构演变的越来越来复杂,所以增加一个外观Facade提供一个接口可以减少它们之间的依赖。
如上图所示,正常我们要增加新的功能的时候,需要客户类那边之间来调用新功能,后续增加许许多多的功能都需要之间和客户类直接联系,维护起来非常麻烦。当改写成外观模式时,则只需连接Facade提供的接口,维护起来的方便了很多。而我们使用外观模式开发时常常需要两部分,一部分开发需要实现子系统的功能模块,而另一部分则开发Facade类提供接口。
案例代码如下:
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
class subsystemone{
public: