Как разделить ArrayCollection на отдельные файлы во Flex?
Я создаю приложения Adobe Air, используя Flex. После того, как вы представите несколько вещей, таких как список стран и список национальностей в ArrayCollection
Формат кода становится грязным и невероятно длинным.
Можно ли поместить ArrayCollection в отдельные файлы в одном проекте Flex, а затем загружать их по мере необходимости или после компиляции?
2 ответа
Да; создайте класс в ActionScript, который расширяет ArrayCollections, а затем жестко кодирует элементы ArrayCollection. Возможно, внутри конструктора вашего нового класса.
Вы должны иметь возможность использовать этот новый класс везде, где можно использовать ArrayCollection.
Итак, вы внедрили приложение Air, которое отображает / использует большое количество данных. Вы не хотите жестко кодировать эти данные, и вы действительно не хотите расширять ArrayCollection только для того, чтобы переместить данные за пределы класса. Это наиболее гибкое решение - поместить данные в XML-файл, скомпилировать их в приложение и реализовать синтаксический анализатор для создания объектов (или лучших экземпляров классов) из данных. Это должно быть скрыто прокси, адаптером или тем шаблоном, который вы хотите использовать.
Если у вас есть эта функциональность, вы можете использовать ее повторно и просто использовать различные адаптеры для источников данных, такие как асинхронная загрузка данных из файловой системы (или как актив из упакованного приложения Air), получение данных из базы данных, который поставляется с Air или использует (веб) сервис (JSON, XML, AMF). Это может быть хорошим упражнением, чтобы сделать ваше приложение более модульным и облегчить его тестирование.
Когда дело доходит до наследования, вы должны отдавать предпочтение композиции перед наследованием. Это распространенная лучшая практика при разработке приложений.