转自http://archive.cnblogs.com/a/2023014/
什么是(Facade)模式?
Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用(出自百度文库)。即当子系统复杂或者繁锁时,我们让子系统提供一个窗口,程序中称为接口,其它程序或者对象就通过这个窗口(接口)与此子系统联系。接口可以是类或方法等。这样就简化了子系统的使用。
作用是什么?
简化子系统的使用。
如何实现?
当子系统(或者对象)使用很复杂时,我们建立一个接口(窗口)对象,将子系统的复杂的使用方法写在此象中,其它对象或程序通过调用此接口(窗口)来使用系统。即在其它对象或程序中加了一层,此层用于调用子系统。而其它对象使用些层来调用子系统,而不管此层如何调用子系统。
我们来看看李京东的文章是如何写的。原文地址:http://terrylee.cnblogs.com/archive/2006/03/17/352349.html
概述
在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化。那么如何简化客户程序与子系统之间的交互接口?如何将复杂系统的内部子系统与客户程序之间的依赖解耦?这就是要说的Façade 模式。
意图
为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。[GOF 《设计模式》]
示意图
门面模式没有一个一般化的类图描述,下面是一个示意性的对象图:
图1 Façade模式示意性对象图