我创建使用MVC 4最佳实践的依赖注入
我想用Ninject
设置依赖注入在ASP.net一个新的项目。但在开始设置依赖注入的最佳实践之前,我需要做什么?
目前我在webproject中有一个binder类设置,它将引用解决方案中的数据项目。
的粘合剂类,如下所示:
Public static class Binder
{
static Ninject.IKernel _kernel;
static Binder()
{
_kernel = new Ninject.StandardKernel();
_kernel.Bind<IConfig>().To<AppSettingsConfig>();
_kernel.Bind<IDocuments>().To<DocumentsClass.Documents>();
}
public static T GetImplementation<T>()
{
return _kernel.Get<T>();
}
}
然后我的控制器内我使用GetImplementation方法来使用的确切需要依赖性,而不是所有注册在应用程序启动。从控制器
示例代码:
Public ActionResult Get (int id)
{
var repository = Binder.GetImplementation<IDocuments>();
// do some stuff with the repository here
}
不知道这将是一个很好的方法吗?任何建议都会很好。
一些代码,将是一件好事呢? – BenjaminPaul
@Wiktors下面的答案是要走的路。尽可能多地使用构造函数注入。如果出于某种原因,您无法设置完整的依赖关系链,请仅使用SL反模式。 –