Flex4 - архитектура кодирования, разделение вида / модели - PullRequest
1 голос
/ 19 ноября 2010

В проекте, над которым я работаю, мы только начали использовать Flex 4. Мы не используем какую-либо конкретную инфраструктуру, и для управления требуется архитектура полного обзора / разделения.Основной принцип заключается в том, чтобы каждый раз связывать класс ActionScript в качестве модели с представлением .mxml.

Мне трудно понять, как связать два: кто ссылается на кого и в какой степени я могу исключить часть сценария, на мой взгляд.понимание этого.

Спасибо

Ответы [ 2 ]

1 голос
/ 19 ноября 2010

У вас также есть возможность использовать шаблон «Модель представления», который очень похож на MVVM в мире Silverlight.Разница в том, что во Flex ОЧЕНЬ легко, когда Silverlight требует тонны больше сантехники.

Архитектура выглядит следующим образом:

  • Представление - это просто представление.Весь декларативный ... очень маленький императивный код
  • Модель представления (PM) содержит поведение пользовательского интерфейса и связь с моделью
  • Модель содержит данные, службы и бизнес-правила на стороне клиента

Представление ссылается на PM и использует привязку данных к свойствам в PM.PM оборачивает модель и добавляет проверку на уровне пользовательского интерфейса, поведение на уровне пользовательского интерфейса и данные форматов.

«Отдельные шаблоны представления», такие как PM, MVC и MVP, действительно важны для следующих «способностей»:

  • Тестируемость устройства
  • Проектируемость
  • Ремонтопригодность
  • Переносимость (браузер для передачи на устройство и т. Д.)
1 голос
/ 19 ноября 2010

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

В Flex связывание данных и поставщики контента являются хорошим способом интеграции данных в структуру MXML.Особенно привязка данных позволяет вам просто использовать контент, не задумываясь об этом;и особенно без определения всех ссылок самостоятельно (поэтому вам не нужно писать их в коде).

Чтобы исключить остальную логику из представления, вы обычно используете контроллеры в архитектуре MVC.Контроллеры являются неким «посредником» между представлениями и моделями и должны обрабатывать данные.Таким образом, вся логика, используемая вашим приложением, должна быть там.Таким образом, у вас есть строгое разделение моделей (которые содержат только чистые данные), представлений (которые только отображают данные) и контроллеров (что объединяет их все и добавляет логику приложения между ними).См. статью Википедии для получения дополнительной информации по этой теме.

И, наконец, есть некоторые фреймворки, облегчающие управление MVC.Наиболее известным для ActionScript является, вероятно, RobotLegs .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...