0

我开始学习一点 Flex 只是为了好玩,也许是为了证明我仍然可以学到一些新东西 :) 我对一个项目有一些想法,其中一个部分是一个树组件,它可以根据不同的方式以不同的方式显示数据配置。

这个想法

有具有诸如 id、日期、时间、名称、描述等属性的对象列表。有时列表应该像这样显示:

  1. 第一级:日期
  2. 第二层:时间
  3. 第三层:名字

有时像这样:

  1. 第一级:年
  2. 第二级:月
  3. 第三级:白天
  4. 第四级:时间和名字

我所说的级别当然是指嵌套级别。所以,我们可以有几年,有几个月,有几天,有几个小时等等。

问题

最好的方法是什么?我的意思是,我应该为组件之外甚至是 flex 之外的不同嵌套方式准备数据吗?我可以在 C# 中的 Web 服务级别执行此操作,我计划在其中设置数据库访问层并发送到 flex nice 并准备好显示 XML 或对象数组。但我想知道这是否不会导致额外的甚至是不必要的网络流量。

我试图破解我的组件中的一些代码来将我的数据对象转换为 XML 或 ArrayCollection,但我对 Flex 的了解不够,并且陷入了消除重复项或通过某个键值获取特定数据的困境。通常要做这样的事情,我有带有地图、集合和向量的 STL,我发现 Flex 数组甚至字典有点令人困惑(我已经阅读了语言参考并在谷歌上搜索了没有任何重大运气)。

问题

所以,总结一下:我应该给我的树组件数据准备只为选择的显示类型,还是我应该尝试在组件内部(或一些用 ActionScript 编写的帮助类)内部完成?

附加问题

为每种显示方式准备单独的数据模型和一些转换器在它们之间传输数据并且生成的模型将作为数据提供者绑定到组件是否是一种好方法?或者也许有其他一些聪明的方法可以做到这一点,我的数据会自己自动重组?:)

4

1 回答 1

0

我倾向于从您的 Web 服务接收原始数据流,并在 flex 客户端(在帮助程序 Actionscript 类中)以各种方式对其进行处理。以下是我看到的优势:

1)这提供了很好的职责分离。例如,Web 服务应该知道数据,但不知道它将以何种方式显示。

2) 更快的处理速度和客户响应速度。交换视图不涉及调用您的 Web 服务,Flex 客户端可能会比额外的 Web 流量更快地处理数据本身

3) 增加可用性。无需额外调用您的 Web 服务,网络故障的可能性就会降低。

于 2010-03-24T22:38:12.957 回答