Melhor localização para configuração / módulos Fluent IOC (atualmente tentando o Ninject)
Estou lutando para encontrar o melhor local para localizar meus "Módulos" de configuração do Ninject (o local onde as ligações de Tipo são especificadas). Espero estar apenas perdendo algum truque óbvio, pois isso está começando a se transformar em um desastre para mim ao usar a configuração fluente (e, portanto, o Ninject):
Em uma pilha simples da Web contendo três projetos separados: Web, BusinessLogic, DataAccess. EU não deseja que a camada da Web precise fazer referência direta à camada DataAccess, mas não vejo uma maneira de contornar isso porque:
Se eu colocar oódulo de configuração @DataAccess na camada DataAccess, Preciso fazer referência à camada DataAccess para acessar o módulo de configuração ao instanciar o Ninject Kernel na camada da Web
Se eu colocar oódulo de configuração @DataAccess na camada da Web, Tenho que fazer referência à camada DataAccess para ter acesso aos tipos que quero vincular
Se eu colocar oódulo de configuração @DataAccess em um projeto de configuração separado, Acabo com problemas de referência circular ao tentar especificar ligações para as camadas da Web e DataAcces
parte do benefício do COI é permitir o acoplamento frouxo, mas, tanto quanto posso ver, o uso do Ninject exigiria que eu adicionasse mais referências diretas ao projeto que tenho atualmente. O que estou perdendo