0

我使用 Flex 构建 Adob​​e Air 应用程序。在您以格式代码介绍国家列表和国籍列表之类的内容后,ArrayCollection代码变得混乱且长得令人难以置信。

是否可以将 ArrayCollection 放在同一个 Flex 项目中的单独文件中,然后在需要时或在编译时加载它们?

4

2 回答 2

1

是的; 在 ActionScript 中创建一个扩展 ArrayCollection 的类,然后对 ArrayCollection 的元素进行硬编码。也许在你的新类的构造函数中。

您应该能够在任何可以使用 ArrayCollection 的地方使用这个新类。

有关在 ActionScript 中创建类的更多信息。

于 2012-05-11T14:41:11.343 回答
0

因此,您实现了一个显示/使用大量数据的 Air 应用程序。您不想对这些数据进行硬编码,也不想扩展 ArrayCollection 只是为了将数据移出类。这种最灵活的解决方案是将数据填充到 XML 文件中,将其编译到应用程序中并实现解析器以从数据中创建对象(或更好的类实例)。这应该被代理、适配器或您想使用的模式隐藏。

当您拥有此功能时,您可能会重用它,并且只需为数据源实现不同的适配器,例如从文件系统异步加载数据(或作为打包的 Air 应用程序的资产),从数据库获取数据,它随 Air 提供或使用(Web)服务(JSON、XML、AMF)。这可能是一个很好的练习,可以让您的应用程序更加模块化并更容易测试。

在继承方面,您应该更喜欢组合而不是继承。这是设计应用程序时常见的最佳实践。

于 2012-05-31T07:41:08.160 回答