Dependency Injection (DI) betekent dat een object zijn afhankelijkheden van buiten krijgt in plaats van deze zelf te creëren. Het is een vorm van Inversion of Control (IoC): de verantwoordelijkheid voor het verbinden van objecten wordt omgekeerd weg van het object en gegeven aan een caller of container.
Zonder DI versus met DI
:
():
.repo = PostgresOrderRepo()
:
():
.repo = repo
service = OrderService(PostgresOrderRepo())
test = OrderService(InMemoryOrderRepo())
