> Что такое Dependency Injection (DI) (Python)

Уровень: junior · Роль: backend · Язык: Python · Категория: Технические вопросы

Компании: Точка, ProFinansy, ООО Диджитал Сектор Поддержка, Спортлевел, Black Wall Group (BWG), Т1, Московский метрополитен

Стек: Python

> Пример ответа

Dependency Injection (DI) - это паттерн проектирования, при котором зависимости объекта (например, сервисы, репозитории, конфигурации) передаются извне, а не создаются внутри самого объекта. В Python это часто реализуется через передачу аргументов в конструктор или через специальные DI-контейнеры (например, dependency-injector).

Пример без DI:

PYTHON
class UserService:
def __init__(self):
self.db = Database() # Жёсткая связь

Пример с DI:

PYTHON
class UserService:
def __init__(self, db: Database):
self.db = db # Зависимость передаётся извне

Преимущества DI: упрощение тестирования (можно подменить реальную БД на мок), повышение гибкости и переиспользования кода, уменьшение связанности компонентов. В Python DI особенно полезен в веб-фреймворках (FastAPI, Flask) и при построении масштабируемых приложений.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью