Junior — Middle
Puteți explica conceptul de injecție de dependențe și cum se aplică în dezvoltarea software-ului?
sobes.tech AI
Răspuns de la AI
Injecția de dependințe (Dependency Injection, DI) este un pattern de proiectare în care obiectele primesc dependențele lor din exterior, în loc să le creeze singure. Acest lucru crește modularitatea, testabilitatea și flexibilitatea codului.
Exemplu: în loc ca o clasă să creeze singură un obiect de bază de date, îl primește prin constructor sau setter.
class Database:
def query(self):
return "date"
class Service:
def __init__(self, db: Database):
self.db = db
def get_data(self):
return self.db.query()
# Injecție de dependințe
database = Database()
service = Service(database)
print(service.get_data())
Această abordare facilitează înlocuirea dependențelor (de exemplu, cu mock-uri în teste) și îmbunătățește întreținerea codului.