Sobes.tech
Junior — Middle

Podes dar exemplos de contêineres DI utilizados no desenvolvimento?

sobes.tech IA

Resposta da IA

No C#, são amplamente utilizados vários contêineres de Injeção de Dependências (Dependency Injection, DI). Aqui estão alguns exemplos populares:

  • Microsoft.Extensions.DependencyInjection — contêiner integrado no .NET Core e .NET 5+, simples e eficiente para a maioria das tarefas.
  • Autofac — contêiner poderoso e flexível com recursos avançados, suporta cenários complexos.
  • Ninject — contêiner conveniente e facilmente extensível com sintaxe concisa.
  • Unity — contêiner da Microsoft Patterns & Practices, suporta muitas funções.

Exemplo de uso do contêiner embutido:

var services = new ServiceCollection();
services.AddTransient<IRepository, Repository>();
var provider = services.BuildServiceProvider();
var repo = provider.GetService<IRepository>();

Estes contêineres ajudam a gerenciar o ciclo de vida dos objetos e facilitam testes e manutenção do código.