基于Dojo toolkit实现web2.0的MVC模式

前言

MVC 模式是设计模式中的经典模式,它可以有效的分离数据层,展示层,和业务逻辑层。Web2.0 技术由于其良好的用户体验被广泛应用于 WEB 应用的展示层。但是在传统的 web 开发中,展示层的和业务逻辑层代码大量耦合,使得应用的可扩展性严重降低,同时页面层代码的可复用性也很低。本文用实例介绍,如何使用 dojo toolkit 扩展 dojo 的页面控件并实现 MVC 模式,有效的分离了展示层与业务逻辑层的代码,同时使得展示层代码可复用性大大提高。

第一部分:Dojo 构造 MVC 与传统 MVC 模式的区别

传统的 MVC 模式

MVC 模式是"Model-View-Controller"的缩写,中文翻译为"模式 - 视图 - 控制器"。 基于 MVC 模式的程式一般都是由 Controller, View, Model 这三个部分组成。Controller 在应用程式中主要接受用户触发的事件 (Event),然后 Controller 根据事先定义好的业务逻辑去更新 Model. 在 Model 更新之后,Model 会通知 (notify) 已注册到该模型的视图(view)进行刷新 (refresh) 操作,最后程式将刷新后的视图展示给用户。

Model 的差别:

传统的 MVC 模式的 model 是一个 javabean,如清单三。而在 DOJO 构造的 MVC 当中,model 是一个 json 的数据结构,封装完,返回的数据结构形式如下:

{“books”:[{“bookName:The art of programming”,”price:90”},
          {“bookName:MVC introduction”,”price:90”}]}

数据流向的不同:

在传统的 MVC 模式中,数据的获得过程如下:

JSP — >Servlet — >Service — >DAO — >JavaBean — > 数据库

或者

JSP — >Servlet — > DAO — >JavaBean — > 数据库

而在 web2.0 的 MVC 模式中,数据的传输途径如下:

JSP — >Javascript — >Servlet — >Service — >DAO — >JavaBean — > 数据库

或者

JSP — >Javascript — >Servlet — > DAO — >JavaBean — > 数据库

比如在 DOJO 中,用户在 JSP 页面发出数据请求后,会先提交给 DOJO 的 Widget 的 Javascript 函数做处理,这个 widget 调用相应的 servlet,由 servlet 将取到的数据转换成 javascript 能够识别的 Json 数据结构,然后这个 widget 根据自己的刷新规则,将数据填入 widget 的 html template 中,显示给用户。

Servlet 控制层的差别

正是因为数据流向的区别,导致了传统的 MVC 的控制层与 web2.0 的控制层有了很大区别,如果说传统 MVC 的控制层是 servlet 的话,那么在 web2.0 中,这个控制的角色已经开始由 servlet 转移到了 javascript 中。

在传统的 MVC 模式中,servlet 负责取数据和封装数据,有时候也会包括一些刷新页面数据的代码段,而 jsp 负责解析数据,填充数据和显示数据。考虑到 JSP 从广义上来说也是一个 servlet,所以 servlet 就包含了从取数据、封装数据、解析数据、填充数据和显示数据的一条龙服务。

而在 web2.0 中,servlet 仍然负责取数据和封装数据,但是解析数据、填充数据和显示数据已经不再由 JSP 来完成,解析数据和填充数据都是在 javascript 中完成。在 dojo 中负责解析数据和填充数据的就是 widget。那么什么是 dojo 的 widget 呢?

时间: 2024-07-30 18:49:22

基于Dojo toolkit实现web2.0的MVC模式的相关文章

提高基于Dojo的Web 2.0应用程序的性能

Web 2.0 应用程序最注重的一个方面就是用户体验,用户希望使用的是一个快速稳定的 Web 2.0 应用.而基于 Dojo 的 Web 2.0 应用经常需要下载大量 Dojo 代码到客户端执行,而且会不时的向后台发起 IO 请求,响应速度受到很大影响.本文通过演示一些实用的技巧来提高 Dojo 的性能,帮助开发人员找出 Web 2.0 应用程序的性能瓶颈. Web 2.0 与 Dojo 介绍 Web 2.0 应用以其丰富的用户体验,快捷的响应速度越来越受到众多用户的欢迎.Google Map,

财付通打造Web2.0新赢利模式平台

财付通是腾讯公司于2005年9月正式推出专业在线支付平台,致力于为互联网用户和企业提供安全.便捷.专业的在线支付服务. 财付通构建全新的综合支付平台,业务覆盖B2B.B2C和C2C各领域,提供卓越的网上支付及清算服务.针对个人用户,财付通提供了包括在线充值.提现.支付.交易管理等丰富功能:针对企业用户,财付通提供了安全可靠的支付清算服务和极富特色的QQ营销资源支持. 财付通先后荣膺2006年电子支付平台十佳奖.2006年最佳便捷支付奖.2006年中国电子支付最具增长潜力平台奖和2007年最具竞争

Web2.0最佳盈利模式之"三顾茅庐"

用"三顾茅庐"来说明Web2.0的盈利模式,其实就是希望web2.0网站能够促成企业寻找人才,发现人才并使用人才,只要这个目的达到了,盈利问题自然迎刃而解. 我在上一篇文章<Web2.0-互联网业的梦魇>讲到了web2.0网站从产生至今,盈利模式一直不明确,致使 2.0逐渐被沦落为"鸡肋",别说web2.0网站能否上市,就是web2.0网站能否生存都已经成了众多web2.0网站运营商不可回避的问题. 然而web2.0运营商其实是抱着一个巨大的人力资源的宝

Web2.0产品的模式应该适合广告主

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 上个世纪末"社区"这个词就很热,那时社区营销完全是在线下做活动的.而Web2.0的出现为社区营销提供了一个更好的平台,使大家能够更精准的找到自己所需要的信息. 所以探讨网上营销时,首先应把传统社区概念借鉴进来,即把线下做的营销模式搬到网上.国内外的广告主和互联网企业对营销方式的大量探索表明,成功在于平台本身要有很大

Web2.0泡沫中的VC盛宴

风险投资(VC)对Web2.0网站的追逐和迷恋几乎可媲美于上世纪末互联网泡沫破灭前的那场投资狂热.搜索引擎.手机游戏.无线音乐.BLOG.网络游戏.移动支付等与Web2.0沾边的网络业务,当前均已成为VC看好和追捧的热点.即便按最保守的估计,一年来投向Web2.0网站的风险资本也已达数亿美元,而与此同时,国内外顶级的风投公司名下超过40亿美元的热钱还在随时窥视.搜索和跟踪那些最新出炉的Web2.0项目. VC盛宴 回眸2005年下半年迄今VC投资的热点项目,其投资的脉络一目了然. 2005年8月

Web2.0之下如何办公?

目前,互联网应用面临一场世界性的升级,引发了web1.0迈入web2.0的升级运动,而运动的动力是因为互联网应用已经进化到社会化.人性化的阶段.于是,越来越多的企业开始意识到,企业必须适应web2.0特征的管理,但如何贴近web2.0的特点和应用,开发出新一代的科学有效的现代办公管理系统,乃当前需求之方向.应用之方向和市场之方向. 笔者认为,就web2.0环境而言,具备以"信息交互"枢纽或者为核心的,以信息流带动工作流.数据流.决策链的管理信息系统,具备过程管理.知识管理.扁平化.学习

Web2.0网站要冷静 离成功并不远

中介交易 SEO诊断 淘宝客 云主机 技术大厅 有人力捧web2.0,有人唱衰web2.0,或者少数人认为web2.0盈利模式破产,日前,更有人对它提出技术质疑.故笔者要对web2.0这一新生互联网模式进行多方面的阐述. web2.0存在技术缺陷用户门槛过高 web2.0这么久了,一直以来只听到web2.0技术先进的一面,却一直没有人关注web2.0的技术缺陷.近期又刮起web2.0寒潮,纷纷唱衰web2.0.一群见风驶舵的评论家们每天为此叫嚷不安.交流一直是人类社会发展的主要活动,交流成本从最

Web2.0淘金热已成往事:风投不感冒广告无人投

当我们正沉浸在3G概念的热炒之中畅想未来的时候,不由得想起5年前跟今日3G同样火的一个概念--Web2.0.在金融海啸的袭击和3G崛起的双重夹击之下,目前围绕在"Web2.0"概念上的光环已彻底消退.投资商的冷漠.内容被门户网站所复制以及广告盈利预期的降低,让这个一度被视为互联网"新金矿"的概念正远离我们的视线. 风投开始移情移动互联网 "Web2.0,可能已经成为过去的故事了.在国内,所有针对Web2.0的投资基本上都已经停止了."一位风投界人

谈谈WEB2.0站点的未来发展趋势

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 Web2.0时代的投资者对互联网的信心显然已经不如Web1.0时代,所有的投资者似乎都开始将目光放到了互联网以外的其他领域,一个很奇怪的现象是,今年又有三家互联网公司上市,一是金山,一是巨人网络,一是阿里巴巴,而且上市引发的热浪一浪高过一浪,这种上市热潮和投资者的冷淡显然不能协调. 错就错在上市的三家公司无一和Web2.0有直接关系,巨人网络