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.