2012-05-11 2 views
0

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

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

ответ

1

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

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

More info on creating classes in ActionScript.

+0

Если я создаю новый класс ActionScript и помещаю в конструктор жестко закодированные значения ArrayCollection, как бы я мог вызвать тот же массив ArrayCollection из исходного файла mxml? – Cninroh

+0

Создайте экземпляр нового класса; так же, как вы [вероятно] в настоящее время делаете w/ArrayCollection. Я думаю, что вы задаете вопросы по исправлению ситуации, поэтому вы можете воспользоваться обучением Flex в неделю: http://www.adobe.com/devnet/flex/videotraining.html и/или прочитать «intro to ActionScript/Flex», книга. – JeffryHouser

0

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

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

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