Junior — Middle
Можете ли да објасните концепт убризгавања зависности и како се он примењује у развоју софтвера?
sobes.tech АИ
Одговор од АИ
Уметање зависности (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-овима током тестирања) и побољшава одржавање кода.