在 DataSet 组件中的传输对象

请务必记住,DataSet 组件是传输对象的集合。它与之前的组件实现不同,因为之前它只是数据的简单内存中缓存(记录对象的数组)。传输对象通过 public 属性或 accessor 方法公开外部数据源中的业务数据。将数据加载入 DataSet 组件时,数据即会转换为传输对象的集合。在最简单的方案下,DataSet 组件会创建并将数据载入匿名对象。每个匿名对象都可实现 TransferObject 接口,DataSet 组件只需该接口即可管理对象。DataSet 组件会跟踪对数据进行的更改和对对象进行的任何方法调用。如果在匿名对象上调用方法,则不会产生任何效果,因为方法并不存在。然而,DataSet 组件会在 DeltaPacket 中跟踪这些方法调用,从而保证将它们发送到外部数据源(适用时可在其中进行方法调用)。

在企业解决方案中,可以创建映射服务器端传输对象的客户端 ActionScript 传输对象。此客户机对象可以实现用于处理数据或应用客户端约束的附加方法。开发人员可以使用 DataSet 组件的 itemClassName 参数来标识应创建的客户端传输对象的类名称。在此方案下,DataSet 组件会生成指定类的多个实例,并使用加载的数据对其进行初始化。在 DataSet 组件上调用 addItem() 时,将使用 itemClassName 来创建客户端传输对象的空实例。

如果进一步采用企业解决方案,则可以实现使用 Web 服务或 Flash Remoting 的客户端传输对象。在此方案下,对象除可能存储 DeltaPacket 中的调用外,还将在服务器上直接进行调用。

注意

通过创建实现 TransferObject 接口的类,您可以创建自定义传输对象以供 DataSet 组件使用。有关 TransferObject 接口的详细信息,请参阅"组件语言参考"中的 TransferObject 接口