Рекомендации по внедрению Ninject - PullRequest
1 голос
/ 11 марта 2011

Я разрабатываю свой первый проект, используя 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();

Мой вопрос: это правильный / лучший способ достижения результата, который я ищу? Я думаю, что я обеспокоен накладными расходами на создание экземпляра ядра.

1 Ответ

2 голосов
/ 11 марта 2011

Прочтите документацию: https://github.com/ninject/ninject.web.mvc/wiki/MVC3 и посмотрите пример проекта.

...