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

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

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

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

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

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

16 Апр в 15:48
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир