Beroendeinjektion (DI) innebär att ett objekt mottar sina beroenden från utsidan istället för att skapa dem själv. Det är en form av Inversion av kontroll (IoC): ansvaret för att koppla samman objekt är inverterat bort från objektet och ges till en anropare eller behållare.
Utan DI vs. med DI
python
:
():
.repo = PostgresOrderRepo()
:
():
.repo = repo
service = OrderService(PostgresOrderRepo())
test = OrderService(InMemoryOrderRepo())
