Dependency Injection (DI) σημαίνει ότι ένα αντικείμενο λαμβάνει τις εξαρτήσεις του από έξω αντί να τις δημιουργεί μόνο του. Είναι μια μορφή Inversion of Control (IoC): η ευθύνη για τη σύνδεση αντικειμένων είναι αντιστρεμμένη μακριά από το αντικείμενο και δίνεται σε έναν καλούντα ή έναν container.
Χωρίς DI vs. με DI
:
():
.repo = PostgresOrderRepo()
:
():
.repo = repo
service = OrderService(PostgresOrderRepo())
test = OrderService(InMemoryOrderRepo())
