Где прописать посредника в puremvc?
В настоящее время я работаю над flex, используя puremvc framework. На самом деле мой вопрос связан с тем, где зарегистрировать посредника в рамках puremvc. Один из моих коллег регистрирует посредника только в методах creationComplete представлений (компонентов) (вид изнутри). Хотя я предпочитаю посылать некоторые уведомления от метода creationComplete, который может обрабатываться какой-то командой, команда зарегистрирует посредника. Итак, какой подход лучше с точки зрения лучшей практики?
3 ответа
Взгляды сами по себе не могут зарегистрировать посредников. Медиаторы могут зарегистрировать медиаторов. Например, у вас есть Panel и PanelMediator. Если у вас есть ListA и ListB на этой панели, ваш PanelMediator может добавить обработчики событий завершения создания в ListA и ListB. В этих слушателях вы можете зарегистрировать посредников, таких как ListAMediator / ListBMediator.
Цель состоит в том, чтобы сделать компоненты многоразовыми, поэтому ваши представления должны иметь дело с пользовательским интерфейсом, а не с ядром приложения.
Я бы зарегистрировал ваших посредников в командах.
Из лучших практик...
Для связи и взаимодействия с другими частями системы Команды могут:
- Зарегистрируйте, удалите или проверьте существующую регистрацию посредников, прокси и команд.
- Отправлять уведомления, на которые отвечают другие команды или посредники.
- Получайте и Прокси, и Медиаторы, и манипулируйте ими напрямую.
Как упоминал mico, View не должны регистрировать своих собственных посредников, а Proxy должны оставаться привязанными к своим источникам данных, с которыми они взаимодействуют, и ничего больше.
У меня обычно есть одно уведомление StartUp, которое вызывается сразу после того, как базовый Movieclip получает добавленное к сцене событие. Это уведомление о запуске запускает команду запуска, которая зарегистрирует все необходимые посредники и прокси. Надеюсь это поможет.