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>();

Тези контейнери помагат за управлението на жизнения цикъл на обектите и улесняват тестването и поддръжката на кода.