Sobes.tech
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.