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

19 Ноя 2023 в 19:52
130 +1
0
Ответы
1

Использование глобальных зависимостей, таких как конфигурации или логгер, не рекомендуется, так как это может привести к созданию "загрязненных" зависимостей и усложнению тестирования кода.

Лучшим подходом является передача необходимых зависимостей через инъекцию зависимостей. Это делает код более явным и понятным, а также упрощает тестирование благодаря возможности подмены зависимостей на моки при написании тестов.

Если передача зависимостей через инъекцию становится утомительной, можно рассмотреть возможность создания фасадов, которые будут предоставлять доступ к глобальным зависимостям из любой части приложения. Однако стоит помнить, что использование таких фасадов может усложнить отслеживание потока данных и усложнить структуру приложения.

Таким образом, использование инъекции зависимостей лучше всего, даже если может показаться слегка утомительным. Это делает код более чистым, понятным и упрощает его тестирование.

16 Апр 2024 в 15:48
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир