Надо ли использовать Dependency injection для управления конфигурацией приложения? Т.е. выделять доступ к настройкам приложения в отдельный сервис/класс и прокидывать его в другие классы.
Если не выделять, то трудно тестировать классы, использующие конфигурацию. Если выделять, то код раздувается.
Ограничиться синглтоном, доступ к которому есть отовсюду? Не очень хорошо.
Вообще ничего не выделять и обращаться к конфигурации напрямую (например, к environment variables)? Так еще хуже.
Ведь настройка конфигурации — тоже зависимость, которую надо разруливать. Сейчас это environment variables, затем параметры скрипта, потом файл конфигурации, затем этот файл отдается каким-нибудь сервисом (в облаке) и т.д.