知识大全 利用ExtJS构建客户端三层初探

Posted 函数

篇首语:构成我们学习最大障碍的是已知的东西,而不是未知的东西。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 利用ExtJS构建客户端三层初探相关的知识,希望对你有一定的参考价值。

利用ExtJS构建客户端三层初探  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在软件架构中 特别是B/S架构中 很流行使用三层架构(数据层 中间层 表现层)来建立软件 但这从来都是服务器端的专利 在传统的概念中 客户端的职责就只是用来对数据进行展现而已 如果说客户端也搞三层 确实是一样不可思议的事件

  为什么要搞客户端三层?

     ExtJS这个框架是个功能很强大的框架 由于它给了开发者很大的自由度跟细粒度 开发者在开发的过程中 配置 使用一个组件需要编写许多的代码 工作量大不说 效率低 可重用性低却是致命的 所以 聪明的开发者 应该积极利用ExtJS里的面向对象功能 简化自己的工作 定制自己的组件 才能提高自己的效率 所以 除了在服务器端也搞三层 我们也可以在客户端搞三层 定制组件 简化工作

  基本知识

  Ext ns()(或Ext namespace()函数) 相信很少有人去使用这个函数 这个函数用以构建一个新的命名空间 概念跟C#的命名空间或Java中的包概念一样 观察源代码我们可以发现 实际上这个函数只是建立了一个跟命名空间一样的类而已 比如 Ext ns( buzz data utility ); 就会新建一个类 名称是buzz data utility 有了这个概念 我们就好办了

  实例函数与静态函数 这两种函数的区别我就不讲了 主要讲讲如何在JS中实现 用例子说明或许会比较直观

     Ext ns( test cls );  test cls = function()       test cls staticShow = function()        alert( 这是静态函数 );      test cls prototype instanceShow = function()      alert( 这是实例函数 );

  调用如下

   var temp = new test cls(); temp instanceShow() test cls staticShow()

  数据访问层

   Ext ns( buzz data utility ); buzz data utility buildHttpStroe = function()      return new Ext data Store(          proxy: new Ext data HttpProxy()      );

  该层用于返回一个进行基本封装的Store对象

  中间层

     Ext ns( buzz user);  buzz user = Ext data Record create([       name: PersonName mapping: name type: string        name: PersonID mapping: id type: int   ]); //数据模型 对应服务器端的数据模型    buzz user load = function(url loadedCallback)        var st = buzz data utility buildHttpStroe();       st proxy getConnection() url = url;      st reader = new Ext data JsonReader( root: data buzz user);      st on( load loadedCallback);      st load();   //静态方法 用以从服务器端返回数据 返回类型为buzz user类型 参数url是要调用数据的地址 loadedCallback是回调函数

  中间层部分 我们新建了一个buzz user类(命名空间) 该类直接创建自Record对象 该对象是定制的 与服务器端数据模型对应的 注意使用mapping进行映射 而buzz user load方法是一个静态方法 不需要实例化即可使用

  表现层部分

     Ext onReady(function()        Ext get( btn ) on( click function()            buzz user load( json ashx callback);       );  );    function callback(st res op)        for (var i = ; i < res length;  i++)            alert(String format( res[i] get( PersonID ) res[i] get( PersonName )));     

  回调函数三个参数 st store对象 res Record数组 op 其它附加选项

cha138/Article/program/Java/Javascript/201311/25265

相关参考

知识大全 服务端数据校验及客户端js脚本验证集成处理初探

  这篇文章发出来有段时间了不过看的人不多建议的人也少!今天在首页看到有朋友把验证方案发到首页去了为了赚些评论我也在这边编辑下发到首页上给大家扔些砖!一起源  在项目开发中数据有效性验证肯定是必须的那

知识大全 oracle的共享连接和专用连接方式之初探

在专用连接方式中每一个连接到数据库服务器的客户端请求服务器会和客户端之间建立起连接这个连接用于专门处理该客户端的所有请求直到用户主动断开连接或网络出现中断在连接处于空闲时后台进程PMON会每隔一段时间

知识大全 利用ASP.NET构建网上考试系统

利用ASP.NET构建网上考试系统  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  随着计算机网络

知识大全 利用memcached构建高性能的Web应用程序

利用memcached构建高性能的Web应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 javascript和HTML5利用canvas构建猜牌游戏实现算法

javascript和HTML5利用canvas构建猜牌游戏实现算法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

ADAT-IAT工艺脱氮机理初探

一.A/DAT-IAT工艺脱氮机理初探A/DAT-IAT工艺和传统活性污泥法一样,都是利用微生物对废水中污染物进行分解,达到净化水质的目的。与传统活性污泥法不同的是,A/DAT-IAT工艺是由三个不同

ADAT-IAT工艺脱氮机理初探

一.A/DAT-IAT工艺脱氮机理初探A/DAT-IAT工艺和传统活性污泥法一样,都是利用微生物对废水中污染物进行分解,达到净化水质的目的。与传统活性污泥法不同的是,A/DAT-IAT工艺是由三个不同

ADAT-IAT工艺脱氮机理初探

一.A/DAT-IAT工艺脱氮机理初探A/DAT-IAT工艺和传统活性污泥法一样,都是利用微生物对废水中污染物进行分解,达到净化水质的目的。与传统活性污泥法不同的是,A/DAT-IAT工艺是由三个不同

黄河滩盐碱水域家鱼早繁技术初探

我们利用黄河滩丰富的地热资源,于2006年4月10日~5月15日在陕西省大荔县进行了鲢、鳙、草鱼等家鱼的早繁试验,以解决西北地区家鱼早繁鱼苗供应紧缺的局面。  一、材料与方法1.实验材料(1)实验场地

黄河滩盐碱水域家鱼早繁技术初探

我们利用黄河滩丰富的地热资源,于2006年4月10日~5月15日在陕西省大荔县进行了鲢、鳙、草鱼等家鱼的早繁试验,以解决西北地区家鱼早繁鱼苗供应紧缺的局面。  一、材料与方法1.实验材料(1)实验场地