Встречается на собеседованиях • сегодня
Зачем нужен dependency injection
Dependency Injection (DI) — это паттерн проектирования, который позволяет передавать зависимости объекта извне, а не создавать их внутри. Это делает код более гибким, тестируемым и поддерживаемым.
Преимущества DI:
- Уменьшает связанность между компонентами.
- Упрощает тестирование (можно подменять зависимости на моки/стабы).
- Делает код более модульным и переиспользуемым.
Пример без DI:
python
class Database:
def query(self):
return "data"
class Service:
def __init__(self):
self.db = Database() # Жесткая зависимость
def get_data(self):
return self.db.query()Пример с DI:
python
class Service:
def __init__(self, db): # Зависимость передается извне
self.db = db
def get_data(self):
return self.db.query()DI особенно полезен в крупных проектах и при написании unit-тестов. В Python его можно реализовать вручную или с помощью библиотек (например, injector или dependency-injector).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы