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

Зачем нужен 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).

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

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

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

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