← Proyectos y patrones

Dependency Injection

Invertir la creación de dependencias para que el código dependa de contratos y sea más fácil de probar y cambiar.

Qué resuelve

Separa la lógica de negocio de detalles concretos como bases de datos, relojes, HTTP o proveedores externos.

Permite sustituir dependencias reales por dobles de prueba sin modificar el caso de uso.

Cuándo tiene sentido

Cuando una dependencia cambia por entorno, proveedor o decisión de infraestructura.

La inyección por constructor suele ser el punto de partida más explícito y fácil de razonar.

Compensaciones

Un contenedor DI no corrige un diseño acoplado: registrar demasiadas abstracciones también añade ruido.

La composición debe ocurrir en el borde de la aplicación, no repartirse por toda la lógica de negocio.

Comentarios