Junior — Middle
Ar galite paaiškinti priklausomybių įvedimo koncepciją ir kaip ji taikoma programinės įrangos kūrime?
sobes.tech AI
Atsakymas iš AI
Priklausomybių injekcija (Dependency Injection, DI) yra projektavimo modelis, kuriame objektai gauna savo priklausomybes iš išorės, o ne patys jas kuria. Tai didina kodo modulį, testavimą ir lankstumą.
Pavyzdys: vietoj to, kad klasė pati sukurtų duomenų bazės objektą, ji jį gauna per konstruktorių arba setterį.
class Database:
def query(self):
return "duomenys"
class Service:
def __init__(self, db: Database):
self.db = db
def get_data(self):
return self.db.query()
# Priklausomybių injekcija
database = Database()
service = Service(database)
print(service.get_data())
Šis požiūris palengvina priklausomybių keitimą (pavyzdžiui, su mocks testavimui) ir gerina kodo priežiūrą.