外观模式

概括

为系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

概述

一个大的系统一般都有若干个子系统构成,每个子系统包含多个类,这些类协同合作为用户提供所需要的功能。一个客户程序中的某个类实例如果直接和子系统的多个类的实例打交道完成某项任务,就使客户程序的某个类和子系统有过多的依赖关系。感觉就是提供一个统一的交互界面类 由该类来调用子系统中的类来提供服务。
外观模式是简化用户和子系统进行交互的成熟模式,外观模式的关键是为子系统提供一个称作外观的类,该外观类的实例负责和子系统中类的实例打交道。当用户想要和子系统中的若干类打交道时,可以代替地和子系统的外观类的实例打交道。


UML类图
外观模式

两种角色

  • 子系统(Subsystem)子系统是若干个类的集合,这些类协同合作为用户提供服务,子系统任何类都不包含外观类的实例引用。
  • 外观(Facade):外观是一个类,该类包含子系统中全部或部分类的实例的引用,当用户想要和子系统中的若干个类的实例打交道时,可以代替地和子系统的外观类的实例打交道。

感觉这个模式还是简单明了,就不上代码了。