我使用Flex构建Adobe Air应用程序。在您以ArrayCollection
格式引入一些国家/地区列表和国籍列表等内容后,代码变得混乱而且非常长。
是否可以将ArrayCollection放入同一个Flex项目中的单独文件中,然后在需要时或编译时加载它们?
答案 0 :(得分:1)
是;在ActionScript中创建一个扩展ArrayCollections的类,然后对ArrayCollection的元素进行硬编码。也许在你的新类的构造函数里面。
你可以在任何可以使用ArrayCollection的地方使用这个新类。
答案 1 :(得分:0)
因此,您实施了一个显示/使用大量数据的Air Application。您不希望对此数据进行硬编码,并且您实际上不希望扩展ArrayCollection只是为了将数据移出类。这种最灵活的解决方案是将数据填充到XML文件中,将其编译到应用程序中并实现解析器以从数据创建对象(或更好的类实例)。这应该由代理,适配器或您想要使用的模式隐藏。
当您拥有此功能时,您可能会重复使用它,只需要为数据源实现不同的适配器,例如从文件系统异步加载数据(或作为打包的Air应用程序中的资产),从中获取数据数据库,随Air提供或使用(Web)服务(JSON,XML,AMF)。这可能是一个很好的练习,可以使您的应用程序更加模块化,并使其更容易测试。
当涉及到继承时,你应该支持组合而不是继承。这是设计应用程序的常见最佳实践。