Встречается на собеседованиях • сегодня

Что такое 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).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы