我有一个解决方案,有两个相关的(对这个问题)项目,还有一些其他项目;
我的问题基本上是我应该使用Ninject 2做IoC,考虑到......
我把自己画成了一个心理角落,因为我只看到了三个选项.类库中的DI,Web应用程序中的DI,或两者都有,但每个都有问题:
有没有人对如何做这样的事情有一些"最佳实践"或指导方针?我无法想象我是第一个在这种情况下结束的人,而且知道"正确"的做法是什么肯定会很好......
谢谢!
我与refrences如本描述去一个三层应用程序的答案:
DAL with Repositories -> BLL with services and IRepository <- Asp.net mvc-app
Run Code Online (Sandbox Code Playgroud)
为了让这种依赖注入运行,我看到了几个选项:
1.从web-app添加对DAL的引用,以便能够在应用程序启动时设置绑定.
2.使用具有xml配置的容器
(3.使用反射加载dal-assembly并查找类型)
选项1.很简单,也可以将DAL.dll复制到bin但是我突然重新引入了我努力摆脱的引用.现在可以直接访问存储库.选项2和3似乎不必要地复杂.
没有其他办法吗?
我在这个网站上阅读了一些内容:
我用Ninject.如果我理解这些建议,就必须:
这看起来很奇怪,特别是对工厂来说 我有很多项目使用相同的库.所有这些项目是否应该重新定义ninject模块和工厂?
你怎么看 ?