Встречается на собеседованиях • сегодня
Что такое dependency injection
Dependency Injection (DI) — это паттерн проектирования, при котором зависимости объекта передаются извне, а не создаются внутри самого объекта. Это делает код более гибким, тестируемым и поддерживаемым.
Пример без DI:
python
class Database:
def query(self, sql):
print(f"Executing: {sql}")
class UserService:
def init(self):
self.db = Database() # Зависимость создается внутри класса
text
def get_users(self):
return self.db.query("SELECT * FROM users")text
**Пример с DI:**
```python
class UserService:
def __init__(self, db): # Зависимость передается извне
self.db = db
def get_users(self):
return self.db.query("SELECT * FROM users")
db = Database()
service = UserService(db) # Внедрение зависимостиПреимущества:
- Упрощает тестирование (можно передавать mock-объекты).
- Уменьшает связность кода.
- Позволяет легко менять реализации зависимостей.
В Python DI часто реализуют через фреймворки (FastAPI, Django, Flask) или библиотеки (injector, dependency-injector).

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