Junior — Middle
Puoi spiegare il concetto di dependency injection e come viene applicato nello sviluppo del software?
sobes.tech AI
Risposta dell'AI
L'iniezione delle dipendenze (Dependency Injection, DI) è un pattern di progettazione in cui gli oggetti ricevono le loro dipendenze dall'esterno, anziché crearle autonomamente. Questo aumenta la modularità, la testabilità e la flessibilità del codice.
Esempio: invece che la classe crei da sé un oggetto database, lo riceve tramite il costruttore o un setter.
class Database:
def query(self):
return "dati"
class Service:
def __init__(self, db: Database):
self.db = db
def get_data(self):
return self.db.query()
# Iniezione di dipendenza
database = Database()
service = Service(database)
print(service.get_data())
Questo approccio facilita la sostituzione delle dipendenze (ad esempio, con mock durante i test) e migliora la manutenzione del codice.