Где прописать посредника в puremvc?

В настоящее время я работаю над flex, используя puremvc framework. На самом деле мой вопрос связан с тем, где зарегистрировать посредника в рамках puremvc. Один из моих коллег регистрирует посредника только в методах creationComplete представлений (компонентов) (вид изнутри). Хотя я предпочитаю посылать некоторые уведомления от метода creationComplete, который может обрабатываться какой-то командой, команда зарегистрирует посредника. Итак, какой подход лучше с точки зрения лучшей практики?

3 ответа

Решение

Взгляды сами по себе не могут зарегистрировать посредников. Медиаторы могут зарегистрировать медиаторов. Например, у вас есть Panel и PanelMediator. Если у вас есть ListA и ListB на этой панели, ваш PanelMediator может добавить обработчики событий завершения создания в ListA и ListB. В этих слушателях вы можете зарегистрировать посредников, таких как ListAMediator / ListBMediator.

Цель состоит в том, чтобы сделать компоненты многоразовыми, поэтому ваши представления должны иметь дело с пользовательским интерфейсом, а не с ядром приложения.

Я бы зарегистрировал ваших посредников в командах.

Из лучших практик...

Для связи и взаимодействия с другими частями системы Команды могут:

  • Зарегистрируйте, удалите или проверьте существующую регистрацию посредников, прокси и команд.
  • Отправлять уведомления, на которые отвечают другие команды или посредники.
  • Получайте и Прокси, и Медиаторы, и манипулируйте ими напрямую.

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

У меня обычно есть одно уведомление StartUp, которое вызывается сразу после того, как базовый Movieclip получает добавленное к сцене событие. Это уведомление о запуске запускает команду запуска, которая зарегистрирует все необходимые посредники и прокси. Надеюсь это поможет.

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