Ленивая инъекция зависимости
У меня есть проект, где Ninject используется в качестве контейнера IoC. Меня беспокоит то, что у многих классов есть такие конструкторы:
[Inject]
public HomeController(
UserManager userManager, RoleManager roleManager, BlahblahManager blahblahManager) {
_userManager = userManager;
_roleManager = roleManager;
_blahblahManager = blahblahManager;
}
Что делать, если я нене хотите иметь все экземпляры этих классов одновременно?
Кстати, когда все эти классы обернутыLazy
и передано конструктору не совсем то что мне нужно.T
экземпляры еще не созданы, ноLazy
экземпляры уже хранятся в памяти.
Мой коллега предлагает мне использовать шаблон Factory, чтобы контролировать все экземпляры, но яЯ не уверен, что у IoC такая большая ошибка в дизайне.
Есть ли обходной путь для этой ситуации, или IoC действительно имеет такой большой недостаток?с дизайном? Может быть, я должен использовать другой контейнер IoC?
Какие-либо предложения?