Junior — Middle
Poți oferi exemple de containere DI utilizate în dezvoltare?
sobes.tech AI
Răspuns de la AI
În C# sunt utilizate pe scară largă diferite containere de injecție a dependențelor (Dependency Injection, DI). Iată câteva exemple populare:
- Microsoft.Extensions.DependencyInjection — container încorporat în .NET Core și .NET 5+, simplu și eficient pentru majoritatea sarcinilor.
- Autofac — container puternic și flexibil cu funcționalități avansate, suportă scenarii complexe.
- Ninject — container comod și ușor de extins, cu sintaxă concisă.
- Unity — container de la Microsoft Patterns & Practices, suportă numeroase funcții.
Exemplu de utilizare a containerului încorporat:
var services = new ServiceCollection();
services.AddTransient<IRepository, Repository>();
var provider = services.BuildServiceProvider();
var repo = provider.GetService<IRepository>();
Acești containere ajută la gestionarea ciclului de viață al obiectelor și facilitează testarea și întreținerea codului.