Sobes.tech
Junior — Middle

Можете ли да обясните концепцията за внедряване на зависимости и как се прилага в разработката на софтуер?

sobes.tech AI

Отговор от 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())

Този подход улеснява замяната на зависимости (например, с мock обекти при тестове) и подобрява поддръжката на кода.