WEB开发网
开发学院网页设计JavaScript 软件设计模式在JavaScript中的应用 阅读

软件设计模式在JavaScript中的应用

 2010-09-14 13:32:10 来源:WEB开发网   
核心提示: 此时程序将输出:published:msgconcreteObserverl received:msgconcreteObserver2 receired:msg这样的输出结果说明concreteObserverl和concreteObserver2都接收到来自concreteSubjec

此时程序将输出:

published:msg
concreteObserverl received:msg
concreteObserver2 receired:msg

这样的输出结果说明concreteObserverl和concreteObserver2都接收到来自concreteSubject的通知。接下来调用removeObserver方法撤消一个concreteSubject的订阅。

concreteSubject.removeObserver(concreteObserver2);

再次发出通知:

concreteSubject.publishEvent(“msg”);

这一次只有concreteObserver1对象接收到通知,程序输出结果为:

published:msg
concreteObserver1 receired:msg

使用Observer模式可以在JavaScript中实现通用的事件机制。有些熟悉Ajax开发的朋友可能知道Prototype框架和Dojo框架这两个客户端框架。其实,这两个框架的事件机制就是采用了类似此处介绍的方法实现的,有兴趣的朋友可进一步研究。

6.Façade模式

(1)概念

Façade模式可以为子系统中的一组接口提供一个一致的界面,它定义了一个高层接口,这个接口使得相应的子系统更加容易使用。Façade模式在Web开发中的一个典型应用是实现统一的API接口,消除各种浏览器在具体特性实现中的差异。

(2)举例

在基于Ajax的Web开发中,当使用XHR对象请求服务器端的数据时,我们通常需要按照以下的步骤进行编程:

·创建XHR对象;

·注册回调函数;

·用open方法设置请求方式(POST/GET)、URL和模式(同步/异步);

·用send发送请求;

·监视请求的状态,当达到某一特定状态时,执行某项特殊功能。

可以看到,使用XHR对象的步骤是比较复杂的,在每个步骤中都需要考虑浏览器兼容性问题。

上一页  5 6 7 8 9 10 

Tags:软件 设计模式 JavaScript

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接