Как разделить ArrayCollection на отдельные файлы во Flex?

Я создаю приложения Adobe Air, используя Flex. После того, как вы представите несколько вещей, таких как список стран и список национальностей в ArrayCollection Формат кода становится грязным и невероятно длинным.

Можно ли поместить ArrayCollection в отдельные файлы в одном проекте Flex, а затем загружать их по мере необходимости или после компиляции?

2 ответа

Решение

Да; создайте класс в ActionScript, который расширяет ArrayCollections, а затем жестко кодирует элементы ArrayCollection. Возможно, внутри конструктора вашего нового класса.

Вы должны иметь возможность использовать этот новый класс везде, где можно использовать ArrayCollection.

Подробнее о создании классов в ActionScript.

Итак, вы внедрили приложение Air, которое отображает / использует большое количество данных. Вы не хотите жестко кодировать эти данные, и вы действительно не хотите расширять ArrayCollection только для того, чтобы переместить данные за пределы класса. Это наиболее гибкое решение - поместить данные в XML-файл, скомпилировать их в приложение и реализовать синтаксический анализатор для создания объектов (или лучших экземпляров классов) из данных. Это должно быть скрыто прокси, адаптером или тем шаблоном, который вы хотите использовать.

Если у вас есть эта функциональность, вы можете использовать ее повторно и просто использовать различные адаптеры для источников данных, такие как асинхронная загрузка данных из файловой системы (или как актив из упакованного приложения Air), получение данных из базы данных, который поставляется с Air или использует (веб) сервис (JSON, XML, AMF). Это может быть хорошим упражнением, чтобы сделать ваше приложение более модульным и облегчить его тестирование.

Когда дело доходит до наследования, вы должны отдавать предпочтение композиции перед наследованием. Это распространенная лучшая практика при разработке приложений.

Другие вопросы по тегам