Back to questions
Junior — Middle
80
Можете объяснить концепцию внедрения зависимостей и как она применяется в разработке программного обеспечения?
Answer from AI
sobes.tech AI
Внедрение зависимостей (Dependency Injection, DI) — это паттерн проектирования, при котором объекты получают свои зависимости извне, а не создают их самостоятельно. Это повышает модульность, тестируемость и гибкость кода.
Пример: вместо того, чтобы класс сам создавал объект базы данных, он получает его через конструктор или сеттер.
class Database:
def query(self):
return "данные"
class Service:
def __init__(self, db: Database):
self.db = db
def get_data(self):
return self.db.query()
# Внедрение зависимости
database = Database()
service = Service(database)
print(service.get_data())
Такой подход облегчает замену зависимостей (например, на заглушки при тестировании) и улучшает поддержку кода.