Sobes.tech
Junior — Middle

Czy możesz podać przykłady kontenerów DI stosowanych w rozwoju?

sobes.tech AI

Odpowiedź od AI

W C# szeroko stosuje się różne kontenery Dependency Injection (DI). Oto kilka popularnych przykładów:

  • Microsoft.Extensions.DependencyInjection — wbudowany w .NET Core i .NET 5+ kontener, prosty i wydajny dla większości zadań.
  • Autofac — potężny i elastyczny kontener z zaawansowanymi możliwościami, obsługuje skomplikowane scenariusze.
  • Ninject — wygodny i łatwo rozszerzalny kontener z zwięzłą składnią.
  • Unity — kontener od Microsoft Patterns & Practices, obsługuje wiele funkcji.

Przykład użycia wbudowanego kontenera:

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

Te kontenery pomagają zarządzać cyklem życia obiektów i ułatwiają testowanie oraz utrzymanie kodu.