У меня вопрос о самом чистом способе создания новых экземпляров некоторой абстракции на фабрике с использованием внедрения зависимостей. Дело в том, что я использую какой-то презентатор, который открывает свои представления несколько раз, но когда мы только «закрываем» какое-то представление, оно удаляется, и чтобы снова открыть представление, мне нужно снова получить новый экземпляр представления, а затем я могу открыть это.
Пока «фабрика» выглядит так:
class ViewConstructor<TView> :IViewConstructor<TView>
where TView : class, IView
{
private readonly IIocContainer _iocContainer;
public ViewConstructor(IIocContainer iocContainer)
{
_iocContainer = iocContainer;
}
public TView Construct()
{
return _iocContainer.GetInstance<TView>();
}
}
Дело в том, что я знаю, что использование IocContainer где угодно, но не в составе root - это плохо . Так что я предполагаю, есть ли какой-нибудь «чистый» способ реализовать это. Подводя итог, я хочу иметь возможность получать НЕСКОЛЬКО экземпляров IView с завода.