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