Ленивая инъекция зависимости

У меня есть проект, где Ninject используется в качестве контейнера IoC. Меня беспокоит то, что у многих классов есть такие конструкторы:

[Inject]
public HomeController(
    UserManager userManager, RoleManager roleManager, BlahblahManager blahblahManager) {
   _userManager = userManager;
   _roleManager = roleManager;
   _blahblahManager = blahblahManager;
}

Что делать, если я не хочу иметь все экземпляры этих классов одновременно?

Кстати, когда все эти классы обернутыLazy<T> и передано конструктору не совсем то что мне нужно.T экземпляры еще не созданы, ноLazy<T> экземпляры уже хранятся в памяти.

Мой коллега предлагает мне использовать шаблон Factory, чтобы контролировать все экземпляры, но я не уверен, что IoC имеет такую большую ошибку в дизайне.

Есть ли обходной путь для этой ситуации, или IoC действительно имеет такой большой дефект в его дизайне? Может быть, я должен использовать другой контейнер IoC?

Какие-либо предложения?

Ответы на вопрос(3)

Ваш ответ на вопрос