Загрузка модуля составного приложения C # Prism

#c# #design-patterns #module #prism

#c# #шаблоны проектирования #модуль #prism

Вопрос:

Существует ли естественный способ регистрации модулей внутри модуля для шаблона составного приложения в prism?

Допустим, у нас есть модуль A в приложении prism WPF, которому необходимо загрузить и зарегистрировать модули A1, A2, …, An.

Мне кажется, что подход к регистрации всех «вложенных» модулей A1 в An в загрузчике является «грязным», поскольку эти модули логически принадлежат модулю A.

Следует ли загружать A1 в An вручную в методе Initialize() A или существует более естественный подход, который хорошо вписывается в общий шаблон модуля?

Комментарии:

1. Как вы загружаете модули (по крайней мере, модуль A) на данный момент?

2. @PVitt С использованием контейнера Unity. Мне пришло в голову, что передача самого контейнера может быть решением, чтобы модуль мог загружать подмодули от своего имени.

3. Извините за этот неточный вопрос. Какой тип каталога модулей (например, DirectoryModuleCatalog) вы используете?

4. @PVitt Я не так уж далеко, но сейчас я попробую это с помощью самого внедрения контейнера для загрузки модулей A1… Внутри модуля A. В любом случае спасибо 🙂

Ответ №1:

если A1..Они могут быть составными или разделяемыми, они должны быть загружены загрузчиком, чтобы другие модули могли его использовать. Если их будет использовать только модуль A, я думаю, лучшая идея — не рассматривать их как модули prism, потому что они (вероятно) используются только для реализации функциональности модуля A и не являются модульными частями программного обеспечения, которое вы создаете.