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.