如何将ArrayCollection分成Flex中的单独文件?

时间:2012-05-11 14:31:36

标签: flex air arraycollection codebase

我使用Flex构建Adobe Air应用程序。在您以ArrayCollection格式引入一些国家/地区列表和国籍列表等内容后,代码变得混乱而且非常长。

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

2 个答案:

答案 0 :(得分:1)

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

你可以在任何可以使用ArrayCollection的地方使用这个新类。

More info on creating classes in ActionScript.

答案 1 :(得分:0)

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

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

当涉及到继承时,你应该支持组合而不是继承。这是设计应用程序的常见最佳实践。