#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 и не являются модульными частями программного обеспечения, которое вы создаете.