Я не могу найти лучшего названия для того, что я пытаюсь сделать, поэтому собрание экрана подойдет, хотя это не название шаблона, который использует Джереми Миллер в своей серии «Как реализовать свою собственную CAB» ,
Я пытаюсь создать отдельный класс ScreenConductor
, который управляет отображением встроенных представлений / экранов в приложении WinForms. ScreenConductor
знает, например, ShowShell()
, и там он решает, скрыта ли оболочка или нет, инициализирует представление по умолчанию в оболочке и т. Д. Теперь для этого ScreenConductor
зависит от ScreenRepository
, у которого, в свою очередь, есть методы GetShell(), GetScreen1(), GetScreen2()
и т. д. - и, как я себе это представлял, у него будет метод для возврата каждого экрана приложения.
Теперь, допустим, я хочу внедрить эти «экраны» здесь: я могу сделать стиль локатора службы (IoC.Resolve<SomeScreen>()
) или у меня может быть инъекция конструктора для этих представлений (или внедрение сеттера может быть лучше, но это не главное ). То, что я спрашиваю, - это некоторый совет, если я двигаюсь в правильном направлении с этим, приложение не очень сложное, я знаю все представления статически, это не какое-то приложение документа с вкладками MDI или что-то в этом роде.