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