概述
通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。
其意图是为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
UML图

角色
Facade : 门面角色,客户端通过调用Facade间接调用子系统。
SubSysA-D : 子系统角色,Facade调用子系统。
Client : 客户端角色,调用Facade。
代码实现
Facade
public class Facade {
SubSysA subSysA;
SubSysB subSysB