Я нахожусь на стадии завершения большого проекта, в котором есть несколько крупных компонентов: получение изображений, обработка изображений, хранение данных, фабричный ввод-вывод (проект автоматизации) и ряд других.
Каждый из этих компонентов достаточно независим, но для запуска проекта в целом мне нужен как минимум один экземпляр каждого компонента. Каждый компонент также имеет ViewModel и View (WPF) для мониторинга состояния и изменения вещей.
Мой вопрос - это самый безопасный, самый эффективный и наиболее обслуживаемый способ создания экземпляров всех этих объектов, подписки одного класса на событие в другом и наличия общих ViewModel и View для всего этого.
Было бы лучше, если бы у меня был класс по имени Бог, у которого есть частный экземпляр всех этих объектов? Я делал это в прошлом и сожалел об этом.
Или было бы лучше, если бы Бог полагался на экземпляры этих объектов в Синглтоне, чтобы заставить мяч двигаться.
В качестве альтернативы, должен ли Program.cs (или там, где Main (...)) создавать все эти компоненты и передавать их Богу в качестве параметров, а затем позволять Ему (хихикать) и Его ViewModel иметь дело с особенностями запуска этого проекты.
Любые другие предложения, которые я хотел бы услышать.
Спасибо!