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.