数据模型

1、Model数据实体模型:代表了应用系统中用到的数据实体,如在电子商务系统中的用户信息、产品信息、账单信息等

2、Proxy数据代理:用来处理数据的读取和保存

3、Reader、Write数据读写器:用于读取原始数据到Model数据实体模型,或者将Model数据实体模型格式化为指定的数据格式。

4、Store数据集:是一个保存Model对象的客户 缓存,它提供了对数据的过滤、排序、查找等功能,常用于数据模型与UI组件的数据接口。

5、Ext.data.Model

  是真实世界中实体对象在应用系统中的反映。

  数据实体模型类4个重要的组成部分:Fields-字段定义;Proxy-数据代理;Associations-模型关联;Validations-数据校验

6、Proxy数据代理

  进行数据读写操作的主要途径,ExtJS提供的数据代理类主要包括两大类分别是:

     Ext.data.proxy.Client客户端代理和Ext.data.proxy.Server服务端代理,他们都继承自Ext.data.proxy.Proxy类。

  客户端代理子类包括:

    Ext.data.proxy.Memory、

    Ext.data.proxy.WebStorage、

    Ext.data.proxy.LocalStorage、

    Ext.data.proxySessionStorage

  服务端代理子类:

    Ext.data.proxy.Ajax、

    Ext.data.proxy.Rest、

    Ext.data.proxy.JsonP

7、Ext.data.proxy.Proxy

  是所有代理类的父类,他定义了代理的基本行为和接口,通过代理操作数据的基本原则是执行Create、Read、Update、Delete操作。这4个操作被映射到create、read、update、delete四个函数中。它的每个子类都需要实现这些函数,每一个CRUD方法会得到唯一的Ext.data.Operation对象作为参数,其中封装了操作的详细内容,另外每个CRUD方法都可以指定回调函数对数据进行处理。

8、Ext.data.proxy.Memory

  是一个简单的数据代理,它使用内存变量存取数据,因此在每一次页面刷新之后数据都会丢失。

9、Ext.data.proxy.Ajax

  与客户端代理不同,服务器代理会访问远程的服务器资源,适合于长期保存重要的数据资源。

  Ajax代理是一个在应用程序中使用最为广泛的服务端代理,它采用Ajax方式通过请求指定的URL来读写数据,它不能读取跨域数据。

10、Read数据读取器

  数据读取器主要用于将数据代理读取到的原始数据按照不同的规则进行解析,将解析后的数据保存在Model模型对象中。数据读取器相当于原始数据格式与ExtJS标准数据格式之间的桥梁。

  数据解析器主要有如下3种:

    Ext.data.reader.Json Json数据读取器

    Ext.data.reader.Xml Xml数据读取器

    Ext.data.reader.Array 数组数据读取器

11、Writer数据写入器

  数据写入器主要用于将数据代理提交到服务器端的数据进行编码,相当于Extjs标准数据格式与服务端数据格式之间的桥梁。

  数据写入器主要包括:

    Ext.data.writer.JSON写入器

    Ext.data.writer.XML XML写入器

12、Store

  是一个客户端数据模型对象Model的缓存,它可以为ExtJS组件提供数据输入(例如grid、combo)。Store通过数据代理加载数据,也可以手工调用loadData等方法加载数据,解析后的数据对象缓存在Store数据集中,并通过存取函数进行访问。

  ExtJS中提供的数据集类主要包括:

    Ext.data.AbstractStore、

    Ext.data.Store、

    Ext.data.ArrayStore、

    Ext.data.JsonStore、

    Ext.data.DirectStore、

    Ext.data.JsonPStore、

    Ext.data.XmlStore

13、为了方便使用Store读取各类数据,Extjs提供了内置数据读取器的辅助Store类来加速程序的开发过程,这些辅助类包括:

  Ext.data.JsonStore:内置了Ext.data.reader.Json

  Ext.data.XmlStore:内置了Ext.data.reader.Xml

  Ext.data.ArrayStore:内置了Ext.data.reader.Array

你可能感兴趣的:(数据)