В настоящее время я работаю над приложением WPF, используя Prism с Unity. Функциональность модели разделена на несколько проектов библиотеки классов. Для каждой группы проблем у меня есть один проект реализации и один проект, состоящий только из интерфейсов и перечислений. Цель состоит в том, чтобы иметь возможность изменять или полностью заменять DLL реализации, не затрагивая и не изменяя ничего другого в приложении. В этом случае я немного застрял в том, как регистрировать интерфейсы для их реализации без жестких ссылок на оба в приложении верхнего уровня.
Я знаю, что на них нужно будет где-то ссылаться вместе, но не противоречит ли передовой практике, чтобы это происходило в приложении верхнего уровня в загрузчике? Должен ли я вместо этого искать MEF, а не Unity для этой конкретной проблемы?