Bri*_*ian 18 c# dependency-injection ninject
我正在阅读手工注射和注射(以及为什么使用Ninject).我遇到了两个混乱:
我已经熟悉手工注射技术,但我不熟悉Ninjection,因此不确定完整的程序是如何工作的.也许它有助于提供一个完整的程序,而不是像在该页面上所做的那样,显示一个分解为程序的程序
我仍然不知道如何让事情变得更容易.我想我错过了一些重要的事情.我可以看一下注入框架如何帮助你创建一组注射,然后同时在两个大组之间切换(这对于模拟等很有用),但我认为它还有更多功能.比起那个来说.但我不确定是什么.或许我只需要更多的例子说明为什么这一点令人兴奋.
在没有DI框架的情况下注入依赖项时,最终会在整个应用程序中使用箭头代码,告诉类如何构建它们的依赖项.
public Contact()
: this(new DataGateWay())
{
}
Run Code Online (Sandbox Code Playgroud)
但是如果你使用像Ninject这样的东西,所有箭头代码都在一个地方,这样就可以更容易地改变使用它的所有类的依赖关系.
internal class ProductionModule : StandardModule
{
public override void Load()
{
Bind<IDataGateway>().To<DataGateWay>();
}
}
Run Code Online (Sandbox Code Playgroud)