Sobes.tech
Junior — Middle
100

Можешь привести примеры DI-контейнеров, которые применяются в разработке?

Answer from AI

sobes.tech AI

В C# для внедрения зависимостей (Dependency Injection, DI) широко используются различные 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>();

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