企业基于 XML 的统一数据模型
2010-10-22 17:19:06 来源:WEB开发网用户可以通过如下方法使用 PersonInfo 数据类型:
清单 3. 使用 PersonInfo 数据类型实例
KeyedCollection info = (KeyedCollection)DSEType.readObject("PersonInfo");
info.setValueAt("name", "Tom");
info.setValueAt("address", "ZhongShan Road, Xian");
info.setValueAt("asset", new Float(5000));
数据及复杂数据项 Data 定义
统一企业数据模型中使用 XML 描述数据字典,XML 的层次结构与现实世界数据对象结构天衣无缝的映射。用户无需做概念抽象,可以非常简单实现从设计到代码的转换。为了适应现实中的层次数据结构,统一数据模型引入组合设计模式(Composite Pattern)描述数据对象关系。如图所示:
图 3. 数据类型层次图
数据模型的最顶端为抽象类 Data Element,它定义了数据元素或者集合类的共有信息 ID 和描述信息。一个数据元素可以是单值或者是集合,这在最大程度上实现了代码重用。DataField 是统一数据模型中唯一可赋值的单元数据,在内存中每个 Field 包含一个值(Value)实例用来存储数据值。DataField 定义示例如下:
<field id="field1" description="This is an example"/>
Keyed Collection 是一个有序的数据集合,使用数据名称来访问其中的数据元素,
所以出现在同一个 Keyed Collection 的数据名称必须唯一。可以简单的把 Keyed Collection
想象为字典(Dictionary),内部的数据元素被组织为键值对(Key-value pairs),如下所示:
<kColl id="coll1">
<field id="field1"/>
<field id="field2"/>
</kColl>
Indexed Collection 类似数组,使用位置(Position)访问其内部元素,
所有内部元素为同一种类型。如图所示。如需访问 customer 中的街道信息,
可以使用组合键:
customerListData.2.address.street。
更多精彩
赞助商链接