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.