Разумно ли использовать глобальные зависимости при работе с конфигурационными файлами и логгером?

Здравствуйте!

Сейчас я передаю данные конфигурации и логгер через инъекцию зависимостей для бизнес-кейсов. Но иногда это становится многословно и вызывает определенное чувство утомления.

Как вы думаете, будет ли правильным вызывать функцию кэширования, которая возвращает конфигурации или логгер, внутри самих бизнес-кейсов?
  • 19 ноября 2023 г. 9:55
Ответы на вопрос 3
Использование глобальных зависимостей может быть разумным в определенных случаях, но в целом это не рекомендуется. Глобальные зависимости могут создать сложности при тестировании и усложнить понимание кода, так как они неявны и не видны в интерфейсе функции.

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

Если вам кажется, что код становится слишком многословным и вызывает утомление, то возможно стоит рассмотреть использование паттернов проектирования, таких как Singleton или Service Locator, для упрощения доступа к зависимостям.

Однако, важно помнить, что использование глобальных зависимостей должно быть оправдано и хорошо обосновано в конкретном контексте, так как оно может привести к возникновению проблем с поддерживаемостью и тестированием кода.
Самая эффективная архитектура - это такая, которую можно легко поддерживать. Если ты устаешь от внедрения логгера, но не испытываешь проблем с использованием глобальной функции, то выбирай глобальную функцию. 
 Ссылка: [1]
Похожие вопросы