一,外观模式简介
外观模式是一种结构型设计模式, 又称为门面模式,也是一种基于创建对象来实现的模式,为子系统中的各组接口的使用提供了统一的访问入口。
外观模式对外提供了一个对象,让外部客户端(Client)对子系统的访问都是基于该对象来完成,这个对象被称为外观对象(Facade Object),外观对象为子系统的访问提供了一个简单而且统一的入口。
客户端只需要关注Facade提供的对外接口的用法,而不需要关注子系统之间的复杂交互等细节。
举个例子,用户在电话购物的时候,可以不需要知道货物的流动和仓库处理等细节,只需要拨电话然后下单。
二,外观模式的结构
外观对象(Facade):它的底层封装了系统的各个子模块,向用户屏蔽了底层的复杂结构,在内部调用各种子系统的函数,对外提供一些简化的接口。
子系统对象(SubSystem):是组成复杂系统的各个独立模块,它们各自实现特定的功能,然后被Facade统一调用。
对应UML