Sobes.tech
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ą.