Sobes.tech
Junior — Middle

Kas saaksite selgitada sõltuvuste sisestamise kontseptsiooni ja kuidas seda rakendatakse tarkvaraarenduses?

sobes.tech AI

Vastus AI-lt

Sõltuvuste süstimine (Dependency Injection, DI) on disainimuster, kus objektid saavad oma sõltuvused väljastpoolt, mitte ei loo neid ise. See suurendab koodi modulaarust, testitavust ja paindlikkust.

Näide: selle asemel, et klass ise loob andmebaasi objekti, saab ta selle konstruktor või setteri kaudu.

class Database:
    def query(self):
        return "andmed"

class Service:
    def __init__(self, db: Database):
        self.db = db

    def get_data(self):
        return self.db.query()

# Sõltuvuste süstimine
database = Database()
service = Service(database)
print(service.get_data())

See lähenemine lihtsustab sõltuvuste asendamist (näiteks mocks testimisel) ja parandab koodi hooldatavust.