定义:外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
示例图:
如上图,我们的Facade提供了几个简化的接口,将子系统的功能封装起来,这样我们就可以通过调用这几个简化的接口来实现我们想要的功能。但外观模式依然将系统的完成功能暴露出来,我们不仅可以操作简化的接口,也可以直接操作系统底层的高级方法。
外观模式允许我们让客户和子系统之间避免紧耦合。因为我们客户代码是针对外观而不是针对子系统编写的。如果当初你的客户代码是针对外观而不是针对子系统编写的,现在你就不需要改变客户代码,只需要修改外观代码即可。
此处就不具c++代码的例子啦。
参考图书:《Head First 设计模式》