fcrong 发表于 2012-3-16 15:39:18

jQuery MiniUI开发系列之:UI和数据分离

使用MiniUI需要注意:UI和数据是分离的。

传统的WEB开发,开发者经常将数据库操作、服务端业务、HTML标签写在一个页面内。
这样会造成开发的混乱,并且难以维护和升级。

使用MiniUI开发的时候,开发者通常会做两种页面:
1)数据页面:dataservice.jsp。(也可以是dataservice.aspx)
2)界面页面

数据页面用来提供json。它通过request获取提交的信息,进行逻辑判断后,进行相关服务端操作,通常是在数据库查询,或者增加、修改、删除数据。在最后,它把要返回的数据内容,做成一个JSON字符串,通过response返回。
以下给出一段伪代码:
//查询条件
string key = Request["key"];
......
//数据库操作
Hashtable result = new TestDB().SearchEmployees(key, pageIndex, pageSize, sortField, sortOrder);
//序列化成JSON
String json = PluSoft.Utils.JSON.Encode(result);
//返回JSON
Response.Write(json);
界面页面是最终用户看到、操作的页面,至关重要。
开发者此时可以不用理会数据服务,专心开发界面。比如一个CRUD操作的表格、复杂的表单、弹出面板等。
当界面呈现完成后,进行数据服务的交互处理。
通常,表格的查询、分页、排序功能占开发的大部分时间。
MiniUI的DataGrid极大的简化了这一环节:
grid.setUrl("dataservice.jsp?method=GetEmployees");
grid.load({key: "")}; //查询
grid.gotoPage(0, 20); //分页
grid.sortBy("price", "desc"); //排序
在其他数据操作场合,使用jQuery的ajax实现数据交互,比如实现一个删除记录的ajax方法:
$.ajax({
    url: "dataservice.aspx?method=RemoveEmployees&id=" + row.id,
    success: function (text) {
        grid.reload();
    },
    error: function () {
    }
});
这种开发模式带来的好处是:
1)专注。后台开发者专注于数据库、服务端、业务设计;前端开发可以专注界面细节。
2)复用。数据页面dataservice.jsp,可以被多个界面页面所调用,而只需要开发一次。
3)可控。使用firebug、httpwatch等工具,是界面传递的参数不对,还是后台获取的数据错误,一目了然。
4)上手迅速、低成本、高可靠性。可以让一个新手使用MiniUI开发界面,让有经验的人开发最重要的后台。
5)易维护、易升级。只需要修改界面,不需要修改后台代码,就可以让系统焕然一新。



969844859 发表于 2012-4-9 11:07:40

很好{:3_59:}
页: [1]
查看完整版本: jQuery MiniUI开发系列之:UI和数据分离