Я изо всех сил стараюсь найти наилучшее место для размещения моей конфигурации Ninject "Модули" (место, где указаны привязки типов). Надеюсь, что я просто пропустил какой-то очевидный трюк, так как это начинает превращаться в развязку для меня с использованием свободной конфигурации (и, следовательно, Ninject):
В простой веб-стек, содержащий три отдельных проекта: Web, BusinessLogic, DataAccess. Я не хочу, чтобы веб-уровень должен был напрямую ссылаться на уровень DataAccess, но я не вижу способа обойти это, потому что:
-
Если я поставлю модуль конфигурации DataAccess на уровне DataAccess, мне нужно ссылаться на уровень DataAccess, чтобы я мог получить доступ к модулю конфигурации при создании экземпляра ядра Ninject в уровне веб-сайта
-
Если я поместил модуль конфигурации DataAccess в уровень веб-сайта, мне нужно ссылаться на уровень DataAccess, чтобы получить доступ к типам, которые я хочу связать
-
Если я поместил модуль конфигурации DataAccess в отдельный проект конфигурации, я получаю круговые проблемы с ссылкой при попытке указать привязки для уровней как в Интернете, так и в DataAccess.
/li >
Часть преимуществ IOC заключается в том, чтобы разрешить свободное соединение, но, насколько я вижу, использование Ninject потребует от меня добавления более прямых ссылок на проекты, которые у меня есть. Что мне не хватает?