Sobes.tech
Junior — Middle

Kas saaksite anda DI konteinerite näiteid, mida kasutatakse arendamisel?

sobes.tech AI

Vastus AI-lt

In C# on laialdaselt kasutusel erinevaid sõltuvuse süstimise (Dependency Injection, DI) konteinerid. Siin on mõned populaarsed näited:

  • Microsoft.Extensions.DependencyInjection — sisseehitatud konteiner .NET Core ja .NET 5+ versioonides, lihtne ja tõhus enamikul ülesannetel.
  • Autofac — võimas ja paindlik konteiner koos täiustatud võimalustega, toetab keerukaid stsenaariume.
  • Ninject — mugav ja kergesti laiendatav konteiner lühikese süntaksiga.
  • Unity — Microsoft Patterns & Practices konteiner, toetab palju funktsioone.

Näide sisseehitatud konteineri kasutamisest:

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

Need konteinerid aitavad hallata objektide elutsüklit ning lihtsustavad koodi testimist ja hooldust.