我正在使用Ninject(一个MVC Web应用程序)开发我的第一个项目,并且对Ninject的正确/最佳使用有疑问。
我已经设置了一个NinjectModule,它将接口绑定到一个具体的类,但现在我想在我的代码中创建接口对象的实例。为此,我写了以下方法:
public class NinjectControllerFactory : DefaultControllerFactory {
private class MyServices : NinjectModule {
...
}
public static IMyRepository GetMyRepository()
{
IKernel kernel = new StandardKernel(new MyServices());
return kernel.Get<IMyRepository>();
}
}
这似乎工作得很好......
IMyRepository tempDB = ControllerFactory.GetRoomarRepository();
我的问题是,这是实现我正在寻找的结果的正确/最佳方式吗?我猜我担心创建内核实例的开销。