外观模式提供一个统一的接口,用来访问子系统中的一群接口。如果项目中有一个类需要使用很多的类来实现一个功能,可以使用外观模式。外观模式定义了一个高层接口,让子系统更容易使用。
现在的Web开发中,大多采用MVC(Model-View-Controller)模式。很多时候都是Controller从Model拿到数据后处理返回给View这样的过程,这样做往往逻辑有点乱,其实可以考虑在Controller和Model之间加一层Service,数据的处理都放在Service里面,这样就能大大提高程序的可维护性。可以用外观模式实现Service,Service中的类为将Model中的一系列接口提供一个更高层的接口,是Controller和Model之间的数据交互更容易地使用。
外观模式没有封装子系统的类,外观模式只是提供简化的接口。所以客户依然可以直接使用子系统的类。外观模式和适配器模式可以包装许多类,两者区别在于意图。外观模式的意图是简化接口,而适配器模式的意图是将接口转换成不同接口以符合客户的期望。
