Я разрабатываю свой первый проект, используя Ninject (веб-приложение MVC), и у меня есть вопрос относительно правильного / наилучшего использования в 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();
Мой вопрос: это правильный / лучший способ достижения результата, который я ищу? Я думаю, что я обеспокоен накладными расходами на создание экземпляра ядра.