Я мочу ноги с помощью DI/IoC и MEF в частности.
У меня есть веб-приложение, которое имеет два типа частей (возможно, больше когда-нибудь), определенные интерфейсами, которым необходим доступ ко всей среде. Приложение имеет список с конкретными реализациями для каждого типа, составленный MEF.
Среда состоит из:
- несколько репозиториев
- текущий запрос приложения
- показать движок
- навигационная система
- плюс некоторые статические классы утилиты
Как я могу поместить определения интерфейса в отдельную сборку и в то же время указать вложение среды?
Очевидно, что я не могу просто ссылаться на основную сборку, потому что ей нужно ссылаться на сборку контракта, и я не могу создать круговую ссылку.
Кажется, мне нужно создать интерфейс для каждого из классов среды, их общедоступных типов и т.д. Должен быть лучший способ?!
Возможно, мне тоже не хватает очевидного большего недостатка, если кто-нибудь может указать мне на меня?