- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安Ajax教程基地 来源:黑客防线网安Ajax教程基地 浏览次数:0 |
一、起因
在看《Ajax in action》的时候,看到它在介绍Adapter和Facade两种模式。由于目前Web开发的特色,特别是客户端Js脚本的开发,需要面对很多的变化和跨平台的挑战,所以,如果应用Adapter和Facade模式,将会非常有益于提高我们软件的可维护性,以及降低总体开发成本。
二、什么是Adapter和Facade模式
1、Adapter模式
1.1、定义:
The Adapter Pattern converts the interface of a class into another interface the clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces.
1.2、解释:
Adapter模式所要解决的问题,就是接口不一致的问题。在实际的应用程序中,有的时候客户端(这里指调用方)想要调用的接口与实际上服务端(这里指被调用方)所提供的接口不一致。出现这种情况,我们可能会有两种选择,一种是修改调用方或者被调用方的接口,使之互相适应。另一种就是在调用方和被调用方之间加入一个Adapter,用其连接调用方和被调用方。
在Adapter模式里,Adapter所起的作用,就是一个接口适配器。一个Adapter类会实现(implements)调用方所期待的接口,并且在类中通过委派(delegate)来调用被调用方,从而实现两种不同接口的连接。
1.3、分类:
Adapter模式分为两种实现方式,一种是对象适配器(Object Adapters)和类适配器(Class Adapters)。其中对象适配器(Object Adapters)通过组合(composition)实现,而类适配器(Class Adapters)通过多继承实现。
1.4、关键点:
模式的关键点在于其意图。Adapter模式的意图很明显,就是为了使两个彼此不兼容的接口兼容,使一个本来并不是调用方所期待的接口看起来跟所期待的一样。
在《Head.First.Design.Patterns》这本书里,有一句话可以非常完美并且有趣的描述Adapter模式:
If it walks like a duck and quacks like a duck, then it might be a turkey wrapped with a duck adapter...
2、Facade模式
2.1、定义:
The Facade Pattern provides a unified interface to a set of interfaces in subsystem. Facade defines a higher-level interface that makes the subsystem easier to use.
2.2、解释:
Facade模式的意图也是非常明显。有时候,我们的客户端(调用方)所调用的子系统(subsystem,被调用方)过于复杂。通常,调用方需要连续调用被调用方的N个接口才能完成某种特定的任务。每次调用方重复调用操作都非常繁琐,容易出错,所以本着DRY(Don’t Repeat Yourself)的原则,我们需要提炼出一些经常用到的操作组合成一个接口。这样,每次调用方执行该功能时,仅需要调用该Facade接口,便可以轻松执行某项特定任务。
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |