Sobes.tech
Junior — Middle

Өнүктүрүүдө колдонулган DI контейнерлердин мисалдарын бере аласызбы?

sobes.tech AI

AIден жооп

C# тилинде ар түрдүү көз карандычылык инжекциясы (Dependency Injection, DI) контейнерлери кеңири колдонулат. Мына алардын кээ бир популярдуу мисалдары:

  • Microsoft.Extensions.DependencyInjection — .NET Core жана .NET 5+ менен келген ички контейнер, көпчүлүк тапшырмалар үчүн жөнөкөй жана эффективдүү.
  • Autofac — күчтүү жана ийкемдүү контейнер, өнүккөн мүмкүнчүлүктөргө ээ, татаал сценарийлерди колдойт.
  • Ninject — ыңгайлуу жана оңой кеңейүүчү контейнер, кыска синтаксис менен.
  • Unity — Microsoft Patterns & Practices тарабынан түзүлгөн контейнер, көптөгөн функцияларды колдойт.

Ички контейнердин колдонулушунун мисалы:

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

Бул контейнерлер объекттердин жашоо циклин башкарууга жана кодду тестирлөө жана тейлөө оңой болуусуна жардам берет.