Sobes.tech
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())

Такой подход облегчает замену зависимостей (например, на заглушки при тестировании) и улучшает поддержку кода.