Junior — Middle
Rivojlanishda qo'llaniladigan DI konteynerlarining misollarini keltira olasizmi?
sobes.tech AI
AIdan javob
C# tilida bog'liq bo'lishni ta'minlash uchun (Dependency Injection, DI) turli DI konteynerlari keng qo'llaniladi. Quyida ba'zi mashhur misollar keltirilgan:
- Microsoft.Extensions.DependencyInjection — .NET Core va .NET 5+ bilan birga keladigan ichki konteyner, ko'p vazifalar uchun oddiy va samarali.
- Autofac — kuchli va moslashuvchan konteyner, kengaytirilgan imkoniyatlarga ega, murakkab ssenariylarni qo'llab-quvvatlaydi.
- Ninject — qulay va oson kengaytiriladigan, qisqa sintaksisga ega konteyner.
- Unity — Microsoft Patterns & Practices tomonidan ishlab chiqilgan konteyner, ko'plab funksiyalarni qo'llab-quvvatlaydi.
Ichki konteynerdan foydalanish misoli:
var services = new ServiceCollection();
services.AddTransient<IRepository, Repository>();
var provider = services.BuildServiceProvider();
var repo = provider.GetService<IRepository>();
Ushbu konteynerlar ob'ektlarning hayot aylanishini boshqarishga yordam beradi va kodni test qilish va qo'llab-quvvatlashni osonlashtiradi.