Мой вопрос касается архитектуры программного обеспечения в целом.
Рассмотрим пример:
У нас есть приложение-служба Windows.
Program.cs создает и запускает экземпляр класса MainService
.
MainService
наследуется от ServiceBase
, поэтому реализует метод OnStart(string[] args)
.
Обычно, когдаЯ проектирую свое приложение, я бы сделал что-то подобное в методе OnStart
:
MainSingletonObject.Initialize();
Инициализация будет читать данные конфигурации из app.config и создавать экземпляры необходимых классов, открывать хосты WCF (если есть) и т. д.
Это хорошая практика для запуска приложения-службы?Что бы вы посоветовали для улучшения дизайна?Где разместить контейнер IoC и зачем он мне нужен, если я делаю инъекцию зависимостей вручную.