Если у вас много компонентов, которые необходимо подключить друг к другу, вполне возможно, что достаточно большой метод - даже если создание каждого компонента реорганизовано в отдельный метод, где это возможно.
Одной альтернативой этому является использование структуры внедрения зависимостей (например, Spring, Castle Windsor, Guice и т. Д.). У этого есть определенные плюсы и минусы ... хотя работа с одним большим методом может быть довольно болезненной, у вас, по крайней мере, есть хорошее представление о том, где все инициализируется, и нет необходимости беспокоиться о том, что может произойти «волшебство». , С другой стороны, инициализация не может быть изменена после развертывания (как, например, в случае XML-файла для Spring).
Я думаю, что имеет смысл спроектировать основную часть вашего кода так, чтобы он мог быть внедрен - но независимо от того, происходит ли это внедрение через каркас или просто жестко закодированный (и потенциально длинный) список вызовы инициализации - это выбор, который вполне может измениться для разных проектов. В обоих случаях результаты сложно проверить, кроме как просто запустив приложение.