Dependency Injection (DI) significa que un objeto recibe sus dependencias desde el exterior en lugar de crearlas él mismo. Es una forma de Inversion of Control (IoC): la responsabilidad de conectar objetos está invertida — lejos del objeto y hacia una llamada o contenedor.
Sin DI vs. con DI
python
:
():
.repo = PostgresOrderRepo()
:
():
.repo = repo
service = OrderService(PostgresOrderRepo())
test = OrderService(InMemoryOrderRepo())
