[Перевод] Руководство разработчика Prism — часть 9, взаимодействие между слабо связанными компонентами
ОглавлениеВведение Инициализация приложений Prism Управление зависимостями между компонентами Разработка модульных приложений Реализация паттерна MVVM Продвинутые сценарии MVVM Создание пользовательского интерфейсаРекомендации по разработке пользовательского интерфейса НавигацияНавигация на основе представлений (View-Based Navigation) Взаимодействие между слабо связанными компонентами
При создании большого и сложного приложения, обычным подходом является разделение функциональности по отдельным модулям. Также желательно минимизировать количество статических ссылок между этими модулями. Благодаря этому, модули можно будет независимо разрабатывать, тестировать, развёртывать и обновлять. Всё это ведёт к необходимости модулей взаимодействовать друг с другом слабо связанным образом. При построении модели взаимодействия между модулями, необходимо знать отличия между подходами, чтобы знать, какой из них применить в конкретном сценарии. Библиотека Prism предоставляет следующие подходы: Использование команд (Solution commanding). Используйте для реагирования на действия пользователя. Контекст региона (Region context). Используйте для передачи контекстной информации от host-элемента управления к представлениями в регионе. Этот подход в некотором роде аналогичен DataContext, но не полагается на него. Общие службы (Shared services). Вы можете вызвать метод на сервисе, который, в свою очередь, сгенерирует событие, на которое могут быть подписаны получатели. Используйте этот подход в том случае, если все остальные подходы не применимы. Агрегация событий (Event aggregation). Для передачи сообщений между моделями представлений, презентерами, или контроллерами при отсутствии ожиданий о непосредственной реакции на сообщение. Читать дальше →