Оглавление
- Введение
- Инициализация приложений Prism
- Управление зависимостями между компонентами
- Разработка модульных приложений
- Реализация паттерна MVVM
- Продвинутые сценарии MVVM
- Создание пользовательского интерфейса
- Навигация
- Способы коммуникации между слабосвязанными компонентами
Приложения, основанные на библиотеке Prism, являются составными приложениями, потенциально состоящими из слабо связанных служб и компонент. Они должны взаимодействовать друг с другом так, чтобы предоставлять содержание пользовательскому интерфейсу и получать уведомления о действиях пользователя. Поскольку они слабо связаны, для обеспечения необходимой функциональности, необходим способ их взаимодействия и связи друг с другом.
Для связи всех частей воедино, Prism приложения полагаются на DI контейнер. DI контейнеры уменьшают зависимости между объектами, предоставляя способ создания экземпляров классов и управления их временем жизни в зависимости от конфигурации контейнера. При создании объектов с помощью контейнера, он инжектирует в них необходимые зависимости. Если зависимости еще не были созданы, то контейнер в начале создает их и разрешает их собственные зависимости. В некоторых случаях, сам контейнер внедряется как зависимость. Например, при использовании Unity, в модули внедряется контейнер для того, чтобы они могли зарегистрировать в нём свои представления и службы.
Есть несколько преимуществ использования контейнера:
- Контейнер устраняет потребность для компонента определять местоположение его зависимостей или управлять временем их жизни.
- Контейнер позволяет заменять реализации, не влияя на компоненты.
- Контейнер облегчает тестируемость, позволяя внедрять в объекты фальшивые зависимости.
- Контейнер упрощает обслуживание, позволяя легко добавлять к системе новые компоненты.
В контексте приложения, основанного на библиотеке Prism, есть определенные преимущества контейнера:
- Контейнер разрешает зависимости модуля при его загрузке.
- Контейнер используется для регистрации и создания моделей представления и представлений.
- Контейнер может создавать модели представления и внедрять представления.
- Контейнер внедряет службы составного приложения, такие как менеджер регионов и агрегатор событий.
- Контейнер используется для регистрации специфичных для модуля служб со специфичной для модуля функциональностью.
Читать полностью »