Dependency Injection (DI) signifie qu'un objet reçoit ses dépendances de l'extérieur au lieu de les créer lui-même. C'est une forme d'Inversion of Control (IoC) : la responsabilité de l'assemblage des objets est inversée, passant de l'objet à un appelant ou à un conteneur.
Sans DI vs. avec DI
:
():
.repo = PostgresOrderRepo()
:
():
.repo = repo
service = OrderService(PostgresOrderRepo())
test = OrderService(InMemoryOrderRepo())
