Dojo Data高级应用——使用Write API与Notification API

概述

伴随 Web2.0 与 RIA 的快速发展,在客户端处理数据已逐渐成为一种趋势。利用 Dojo Data,Web 开发人员可以在不同的数据格式上建立起一层统一的数据访问模型,使得数据的读写都采用统一的接口,从而降低了客户端逻辑的复杂性,提高了程序的可维护性和可扩展性。在该文章中,我们通过实例具体介绍了 Dojo Data 中 Read API 的技术应用。

Dojo Data Write API 介绍

Dojo 工具包中一些存储库不仅提供了读功能,而且还提供了写功能。也就是说,使用这些存储库,用户不但能够从服务器端获取数据,而且还可以更新服务器端的源数据。这些存储库实现了一套 Dojo Data 所定义的 Write API,用来创建、更改、删除数据。同 Read API 类似,Write API 的设计目标也是屏蔽底层数据存储格式的差异,为用户提供统一的数据访问 API。借助这些 API,用户可以专注于业务层面的逻辑实现,而无需花费太多精力去关注底层数据的存储格式。表 1 列出了 Dojo Data 所定义的 Write API。

表 1.Dojo Data Write API

API 描述
newItem 创建新的数据项
setValue 更新某个数据项的值
deleteItem 删除某个数据项
setValues 更新一组数据项的值
unsetAttribute 将数据项的某个属性值置空
save 将客户端所做的更新提交到服务器端,完成对源数据的更新
revert 回滚客户端所做的更新,至上一次 save 操作后的状态
isDirty 判断某个数据项是否已在客户端被更新

Dojo Data 对数据的更新分为两个阶段。第一个阶段,用户调用 Dojo Data 提供的 Write API 对数据进行更新操作 , 这些操作会被存储库跟踪记录下来。此时这些更新变化还被保存在本地内存中,并没有马上被传送到服务器端。这时如果用户调用 revert 方法,可以放弃这些更新操作,将存储库回滚到上一次调用 save 方法之后的状态;第二个阶段,用户调用 save 方法,利用 Dojo XMLHttpRequest 技术与服务器进行异步通信,将用户所做的操作传递给服务器端,从而最终实现对服务器源数据的更新。这样设计的好处是使得与服务器端的交互可以一次完成大批量的数据更新,也就是批处理操作,并能在客户端支持回滚。Dojo Data 对数据更新的整个过程如图 1 所示。

图 1.Dojo Data 更新操作流程

时间: 2024-10-29 13:05:25

Dojo Data高级应用——使用Write API与Notification API的相关文章

利用Dojo Data开发统一的数据访问模型

目前,企业内部的数据量正快速膨胀,客户端和服务器端之间交换的数据格式也是多种多样.由于 Web2.0.RIA 的快速发展,在客户端处理数据逐渐成为一种趋势,但是基于 XMLHTTPRequest 的一般 Ajax 客户端程序必须由 Web 开发人员自己编写处理各种数据格式的代码.这样,不仅加重了客户端逻辑的复杂性,而且降低了程序的可维护性和可扩展性.而 Dojo Data 库旨在为不同的数据格式提供一种统一的数据访问模型,使得数据的读写都采用统一的接口,从而有利于程序的移植和维护.通过阅读本文读

Dojo Data Stor“.NET研究”e——统一数据访问接口

无论在传统的桌面应用还是在主流的互联网应用中,数据始终占据着软件应用中的核心地位.当下,web2.0已经是一个让人们耳熟能详的词汇,而由此带来的数据的开放与共享,引领我们走入了海量数据时代.在今天的互联网上,数据的交互几乎成为了我们的终极诉求,可随之而来的数据多样性,信息的分布式存储及松耦合,以及数据量的几何级规模的膨胀也带来了数据组织上的难度的增大,与此同时,伴随着Ajax, RIA及面向服务的网络应用的发展,其所要求的客户端数据处理逻辑的复杂性不断增加,使得开发难度不断加大. 出于简化数据处

一起谈.NET技术,Dojo Data Store——统一数据访问接口

无论在传统的桌面应用还是在主流的互联网应用中,数据始终占据着软件应用中的核心地位.当下,web2.0已经是一个让人们耳熟能详的词汇,而由此带来的数据的开放与共享,引领我们走入了海量数据时代.在今天的互联网上,数据的交互几乎成为了我们的终极诉求,可随之而来的数据多样性,信息的分布式存储及松耦合,以及数据量的几何级规模的膨胀也带来了数据组织上的难度的增大,与此同时,伴随着Ajax, RIA及面向服务的网络应用的发展,其所要求的客户端数据处理逻辑的复杂性不断增加,使得开发难度不断加大. 出于简化数据处

返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作

原文:返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作 [索引页][源码下载] 返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作

什么是API?如何做到API兼容?如何评估API?

文章描述:本文主要介绍什么是API,以及API兼容的重要性,最终给出方案如何评估API,以及如何做到API兼容. 本文主要介绍什么是API,以及API兼容的重要性,最终给出方案如何评估API,以及如何做到API兼容. What's API? API的全称是application programming interface. 而很多时候,程序开发者仅仅把函数.类的接口做为API的一部分,而忽略了其他重要的编程接口. 事实上,在前端Javscript编程中常见的API包括: 函数.类接口,包括参数,

使用HTML5的Notification API制作web通知的教程

  在使用网页版Gmail的时候,每当收到新邮件,屏幕的右下方都会弹出相应的提示框.借助HTML5提供的Notification API,我们也可以轻松实现这样的功能. 确保浏览器支持 如果你在特定版本的浏览器上进行开发,那么我建议你先到 caniuse 查看浏览器对Notification API的支持情况,避免你将宝贵时间浪费在了一个无法使用的API上. 如何开始 JavaScript Code复制内容到剪贴板 var notification=new Notification('Notif

api-哪里能有获得火车API,航班API,天气API接口?

问题描述 哪里能有获得火车API,航班API,天气API接口? 做旅游网站的,哪里能有获得火车API,航班API,天气API接口? 解决方案 http://www.juhe.cn/ 解决方案二: 火车API:http://www.haoservice.com/docs/25 航班API:http://www.haoservice.com/docs/4 天气API:http://www.haoservice.com/docs/6

javaScript中Notification API学习笔记

Notification API 是浏览器的通知接口,用于在用户的桌面上显示通知信息,桌面电脑和手机都适用.具体的实现形式由浏览器自行部署,对于手机来说,一般显示在顶部的通知栏. 如果网页代码调用这个API,浏览器会询问用户是否接受.只有在用户同意的情况下,通知信息才会显示. 一. 检查浏览器是否支持 Notification API: if (window.Notification) {     // 支持 } else {     // 不支持 } 二. Notification的权限申请:

【百度地图API】百度API卫星图使用方法和卫星图对比工具

原文:[百度地图API]百度API卫星图使用方法和卫星图对比工具 百度地图API推出卫星图接口也有一个月啦~   本文除了介绍如何使用百度地图API来操作卫星图外,还顺带制作了个卫星图对比工具.   一.百度地图API卫星图 调用百度卫星图有两种方式,一是地图类型控件,一是地图底图设置.下面分别介绍这两种方法:   1.利用控件 使用控件有一大优势,就是地图类型控件上,有百度全部的地图类型,比如二维.三维.卫星等. 而且,只需要一句话,就能简单加上这个控件. map.addControl(new