我正在使用 MVC 4 在 ASP.net 中创建一个新项目。
我想使用Ninject
. 但在我继续之前,设置依赖注入时的最佳实践是什么?
目前我在 webproject 中有一个 binder 类设置,它将引用解决方案中的数据项目。
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 方法来使用确切的 require 依赖项,而不是在应用程序启动时全部注册。
来自控制器的示例代码:
Public ActionResult Get (int id)
{
var repository = Binder.GetImplementation<IDocuments>();
// do some stuff with the repository here
}
不确定这是否是一个好方法?任何建议都会很好。