Façade(门面模式)
动机(Motivation)
- 客户和组件中各种复杂的子系统有过多的耦合,过多的耦合面临很多变化的挑战。
- 如何简化外部客户程序和系统间的交互接口?如何解耦?
- 将子系统划分为若干个子系统有利于降低系统的复杂性。一个常见的设计目标是使子系统间的通信和依赖关系达到最小。该目标的途径之一就是引入一个外观(Façade)对象,为子系统中较为一般的设施提供了一个单一而简介的界面。
模式定义
- 为子系统中的一组接口提供一个一致(稳定)的界面,Façade模式定义了一个高层接口(客户与子系统之间的耦合关系提取出来),这个接口使得这一子系统更加容易使用(复用)。 ——《设计模式》GoF