Sobes.tech
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.