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

Что такое Внедрение зависимости (Dependency injection)

Внедрение зависимости (DI) — это паттерн проектирования, при котором зависимости объекта передаются извне, а не создаются внутри самого объекта. Это делает код более гибким, тестируемым и поддерживаемым.

Пример без DI:

python
class Database:
    def fetch_data(self):
        return "Данные из БД"

class Service:
def init(self):
self.db = Database() # Зависимость создается внутри класса

text
def get_data(self):
    return self.db.fetch_data()
text

**Пример с DI:**
```python
class Database:
    def fetch_data(self):
        return "Данные из БД"

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

    def get_data(self):
        return self.db.fetch_data()

# Использование
db = Database()
service = Service(db)  # Внедряем зависимость

Преимущества DI:

  • Упрощает тестирование (можно передавать mock-объекты)
  • Уменьшает связанность кода
  • Позволяет легко менять реализации зависимостей
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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