概述
外观模式(Facade Pattern)是一种结构型设计模式,它为子系统中的一组接口提供了一个统一的高层接口,使得子系统更容易使用。
例如,一键启动。想象一下你的电脑和它的启动过程。启动电脑不仅仅是按下电源按钮,实际上在背后,它包含了启动操作系统,加载用户配置等一系列复杂的步骤。但对于用户来说,他们只需要按下电源按钮就可以了,这其实就是外观模式的一个例子。
示例
1 | #include <iostream> |
总结:
在这个例子中,有三个子系统:SubsystemA、SubsystemB和SubsystemC,每个子系统都有一个操作方法,分别是operationA、operationB和operationC。
然后创建了一个Facade类,这个类持有所有子系统的实例,并提供一个统一的operation方法,这个方法内部调用了所有子系统的操作方法。
在main函数中,只需要创建Facade对象并调用其operation方法,就可以完成所有子系统的操作,而无需直接和子系统交互。这样就大大简化了客户端的使用,这就是外观模式的主要目的。
补充更新
外观模式:将一个具有统一特征流程性的东西封装成为一个外部接口,外部接口不需要了解内部实现,只需要调用接口,其余操作由接口函数内部完成。