Корректно ли использовать глобальные зависимости с конфигами и логгером? Доброго времени суток! На текущий момент, если нужно передать данные конфигурации или логгер какому-то бизнес-кейсу, я передаю их через инъекцию зависимостей. Это добавляет динамики и в целом выглядит как корректное решение, но в некоторой степени утомляет. Как вы считаете, нормально ли, например, вызывать кеширующую функцию, которая возвращает конфиги или логгер внутри бизнес-кейсов?
Использование глобальных зависимостей, таких как конфигурации или логгер, не рекомендуется, так как это может привести к созданию "загрязненных" зависимостей и усложнению тестирования кода.
Лучшим подходом является передача необходимых зависимостей через инъекцию зависимостей. Это делает код более явным и понятным, а также упрощает тестирование благодаря возможности подмены зависимостей на моки при написании тестов.
Если передача зависимостей через инъекцию становится утомительной, можно рассмотреть возможность создания фасадов, которые будут предоставлять доступ к глобальным зависимостям из любой части приложения. Однако стоит помнить, что использование таких фасадов может усложнить отслеживание потока данных и усложнить структуру приложения.
Таким образом, использование инъекции зависимостей лучше всего, даже если может показаться слегка утомительным. Это делает код более чистым, понятным и упрощает его тестирование.
Использование глобальных зависимостей, таких как конфигурации или логгер, не рекомендуется, так как это может привести к созданию "загрязненных" зависимостей и усложнению тестирования кода.
Лучшим подходом является передача необходимых зависимостей через инъекцию зависимостей. Это делает код более явным и понятным, а также упрощает тестирование благодаря возможности подмены зависимостей на моки при написании тестов.
Если передача зависимостей через инъекцию становится утомительной, можно рассмотреть возможность создания фасадов, которые будут предоставлять доступ к глобальным зависимостям из любой части приложения. Однако стоит помнить, что использование таких фасадов может усложнить отслеживание потока данных и усложнить структуру приложения.
Таким образом, использование инъекции зависимостей лучше всего, даже если может показаться слегка утомительным. Это делает код более чистым, понятным и упрощает его тестирование.