Junior — Middle
¿Puedes dar ejemplos de contenedores DI que se utilizan en el desarrollo?
sobes.tech AI
Respuesta de la IA
En C# se utilizan ampliamente varios contenedores de inyección de dependencias (Dependency Injection, DI). Aquí algunos ejemplos populares:
- Microsoft.Extensions.DependencyInjection — contenedor incorporado en .NET Core y .NET 5+, simple y eficiente para la mayoría de las tareas.
- Autofac — contenedor potente y flexible con capacidades avanzadas, soporta escenarios complejos.
- Ninject — contenedor cómodo y fácilmente extensible con sintaxis concisa.
- Unity — contenedor de Microsoft Patterns & Practices, soporta muchas funciones.
Ejemplo de uso del contenedor incorporado:
var services = new ServiceCollection();
services.AddTransient<IRepository, Repository>();
var provider = services.BuildServiceProvider();
var repo = provider.GetService<IRepository>();
Estos contenedores ayudan a gestionar el ciclo de vida de los objetos y facilitan las pruebas y el mantenimiento del código.