← 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