Есть некая архитектура поделеная на три слоя. Все как положено. Но что делать при запуске приложения?
Сейчас это вижу так: создается объект решения с методом Run(), который создает все необходимые объекты всех слоев и связывает их между собой, после чего запускает потоки. Есть другие варианты?