看了很多本关于设计模式的书,大多书都会把这种模式—
外观模式放在第一个位置介绍。
在《设计模式》一书中是这么介绍外观模式的:
为子系统中的一组接口提供一个统一接口。Facade
模式定义了一个更高层的接口,使子系统更加容易使用。
这段话大致意思是说:我们需要用一种比原来更简单的方式,与系统进行交互。也就是说,给子系统提供一个脸面。
举例说明:原来有一个旧的系统A
,这个系统已经很久没有人维护了。现在有个项目,需要将新的系统B
与旧的系统A
进行交互。遇到这种情况怎么办?是让项目组的所有人员都去熟悉旧系统?这个时候外观模式就应该登场了。使用外观模式,将旧系统中的一些功能和方法进行必要的封装。项目组的其他开发人员,只需要调用封装后的方法即可。
当然,也可以在接口中添加一些新的功能。
Facade
模式可以应用于:
●
不需要使用一个复杂系统的所有功能,而且可以创建一个新的类,包含访问系统的所有规则。如果只需要使用系统的部分功能(这是通常的情况),那么你为新类所创建的
API
将比原系统的
API
简单得多。
●
希望封装或者隐藏原系统。
●
希望使用原系统的功能,而且还希望增加一些新的功能。
●
编写新类的成本小于所有人学会使用或者未来维护原系统上所需的成本。
这种模式,其实在很多应用中都很常见。只是大家在使用的时候,并没有在意他也是一种设计模式罢了。模式很简单,就不用代码举例说明了。
分享到:
相关推荐
设计模式之外观模式 facade 采用JAVA实现,请结合文档看,欢迎讨论。。
为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
java 设计模式 Facade外观模式 Simple Factory 简单工厂模式,代码有点罗嗦,不过可移植性很强
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第11节:结构型模式Facade外观模式
C#面向对象设计模式纵横谈(11):Facade 外观模式(结构型模式) (Level 300)
设计模式之Facade(外观) 设计模式之Proxy(代理) 设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计模式之Decorator(油漆工) 设计模式之Bridge 设计模式之Flyweight(享元) 行为模式: 设计模式之Template ...
章节介绍:1、爪哇语言结构性模式之变压器模式介绍 2、爪哇语言抽象工厂创立性模式介绍 3、工厂方法创立...10、设计模式之State 11、设计模式之Facade(外观) 12、设计模式之Interpreter(解释器) 13、设计模式之Visitor
C#面向对象设计模式纵横谈(11):Facade 外观模式(结构型模式)
外观模式 Facade 设计模式 还请各位大S指教。
设计模式之Facade(外观) 设计模式之Proxy(代理) 设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计模式之Decorator(油漆工) 设计模式之Bridge 设计模式之Flyweight(享元) 行为模式: 设计模式之Template ...
C#面向对象设计模式纵横谈\C#面向对象设计模式纵横谈\10.Facade 外观模式(结构型模式).wmv )
主要介绍了Java设计模式之外观模式(Facade模式)介绍,外观模式(Facade)的定义:为子系统中的一组接口提供一个一致的界面,需要的朋友可以参考下
设计模式面面观(13):外观模式(Facade Pattern)-结构型模式 http://blog.csdn.net/fanweiwei/archive/2008/04/17/2299641.aspx
设计模式中的facade外观模式在JavaScript开发中的运用_.docx
本文实例讲述了PHP设计模式:外观模式Facade。分享给大家供大家参考,具体如下: 1. 概述 外观模式,我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度...
主要介绍了PHP设计模式之外观模式(Facade),结合实例形式详细分析了PHP外观模式的具体原来、用法及相关操作注意事项,需要的朋友可以参考下
结构模式:设计模式之Facade(外观),设计模式之Proxy(代理),设计模式之Adapter(适配器),设计模式之Composite(组合),设计模式之Decorator(油漆工),设计模式之Bridge,设计模式之Flyweight(享元). 行为模式:设计模式之...
然后,集中介绍了很多流行的设计模式在JavaScript中的应用,包括Module(模块)模式、Observer(观察者)模式、Facade(外观)模式和Mediator(中介者)模式;最后,还探讨了模块化的JavaScript模式、jQuery及其插件...
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。