Я пишу редактор документов. Приложение написано в WPF и должно иметь возможность обрабатывать несколько документов в рамках одного процесса. Каждый документ имеет собственное окно редактора с собственной лентой (вроде того, как это делает Word).Может ли DI-контейнер помочь в этой ситуации
Я хотел бы использовать шаблоны DI в приложении, поэтому f.ex. классу «SaveManager» может быть введен документ, который он должен сохранить. Очевидно, что контейнер не может создать весь граф объекта при запуске приложения, потому что пользователь может позже открыть или создать новый документ. «Обычным» способом справиться с этим является использование абстрактной фабрики, но это означает, что мне нужна фабрика для каждого класса, который работает с документом. Я ожидаю, что многим классам понадобится ссылка на документ, и я не хочу прыгать через обручи только ради DI. Есть ли способ разрешить контейнеру управлять временем жизни документов, выдавая правильный экземпляр документа в нужное время.
С наилучшими пожеланиями,
Терье
Спасибо за ваш ввод. Я не уверен, что полностью понимаю ваше предложение, но это заставило меня думать в другом направлении, чем я изначально сделал, и я ценю это. – Terje