c# – 如何跨程序集使用Ninject

我可以看到之前已经问过类似的问题,但对DI和.Net来说是全新的我无法掌握整个解决方案或者找不到合适的来源….

>我有程序集WebAPI,BL,DL.
> WebAPI依赖于BL,
> BL依赖于DL,
> WebAPI不参考DL,我想保持相同.还有更多的装配,但这足以说明问题.

WebAPI有应用程序启动部分,因此我可以使用它来初始化Ninject内核并注册WebAPI项目的依赖项.

如何为BL和其他组件实现相同的目标?

解决方法

有几种不同的方法,您可以使用 Ninject Conventions自动将每个ISomething解析为具有相同名称的实现(例如IThing – > Thing),或者您可以在每个组件中创建一个 Ninject Module注册依赖项(模块)在您的BL中可以加载DL中的模块.

您采用的方法取决于您是否需要为不同的对象定义不同的范围,例如,如果您希望将某些事物解析为可能影响您使用哪种方法的单例.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...