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 обекти при тестове) и подобрява поддръжката на кода.