打印本文 打印本文 关闭窗口 关闭窗口
adapter和facade模式在Ajax中的应用
作者:武汉SEO闵涛  文章来源:敏韬网  点击数4528  更新时间:2009/4/23 11:30:46  文章录入:mintao  责任编辑:mintao
              Web开发过程中所使用的各种浏览器API,其本身组合的也并不足够合理。有时候为了执行某项操作,我们需要连续操作很多接口。而实际上,在大多数情况下,我们都没必要这么DRY(Do Repeat Yourself).

你可以看到,其实上面两种情况就分别对应于设计模式中的Adapter和Façade两种模式的需求。那么,下面让我们看看如何在实际的代码中应用上述两种模式解决问题?

 

四、     如何应用Adapter和Facade模式?

在《Ajax in action》中,同样有一段代码,体现了这样的需求。我把它修改了一下,大家看看,能否从中找出Adapter和Facade模式的影子?

CGIAJAX.util["STATICS"] = {};

 

CGIAJAX.util.STATICS.READY_STATE_UNINITIALIZED=0;//constant

CGIAJAX.util.STATICS.READY_STATE_LOADING=1;

CGIAJAX.util.STATICS.READY_STATE_LOADED=2;

CGIAJAX.util.STATICS.READY_STATE_INTERACTIVE=3;

CGIAJAX.util.STATICS.READY_STATE_COMPLETE=4;

 

CGIAJAX.util.ContentLoader = function(url, onload, method, msgBody, onerror)//constructor, contains all attributes

{

    this.url=url;

    this.onload=onload;

    this.method = (method) ? method : "GET";//default value of method is GET

    this.msgBody = (msgBody) ? msgBody : null;//default value of message body send to server

    this.onerror=(onerror) ? onerror : this.defaultError;//default method to handle error

   

    this.req=null;

}

 

//contains all method

CGIAJAX.util.ContentLoader.prototype=

{

    loadXMLDoc:function()//send request to server to get response

    {

        if (window.XMLHttpRequest)

上一页  [1] [2] [3] [4] [5] [6]  下一页

打印本文 打印本文 关闭窗口 关闭窗口