1、外观模式(Facade):也叫门面模式,为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
2、UML结构图
Facade类:外观类,它需要了解所有的子系统的方法或属性,进行组合,以备外界调用
SubSystem:子系统类集合,实现子系统的功能,处理Facade对象指派的任务,注意子类中没有任何Facade的任何信息,即没有对Facade对象的引用
3、适用场景
(1)在设计初期阶段,应该要有意识的将不同的两个层分离,比如在数据访问层、业务逻辑层和表示层的层与层之间建立外观模式
(2)在开发阶段,子系统往往因不断的重构演化而变得越来越复杂,增加外观类可以提供一个简单的接口,减少它们之间的依赖
(3)在维护一个遗留系统时,由于系统庞大难以维护和扩展,有新的需求时,可以增加一个外观类,让外观类与遗留子系统交互 所有复杂的工作
4、代码案例
Facade类
SubSystemA类
SubSystemB