一、引子
门面模式是非常简单的设计模式。
二、定义与结构
门面模式(facade)又称外观模式。GOF 在《设计模式》一书中给出如下定义:为子系
统中的一组接口提供一个一致的界面, Facade 模式定义了一个高层接口,这个接口使得这
一子系统更加容易使用。定义中提到的子系统是指在设计中为了降低复杂性根据一定的规则
(比如业务、功能),对系统进行的划分。子系统中封装有一些类。客户程序在使用子系统
的时候,可能会像下图一样零乱。
在上面的实现方法中,客户类紧紧地依赖在子系统的实现上。子系统发生的变化,很
可能要影响到客户类的调用。而且子系统在不断优化、可重用化的重构路上,会产生更多更
小的类。这对使用子系统的客户类来说要完成一个工作流程,似乎要记住的接口太多了。门
面模式就是为了解决这种问题而产生的。看看使用了门面模式后的图: