Зачем нужен dependency injection

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