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>();
Тези контейнери помагат за управлението на жизнения цикъл на обектите и улесняват тестването и поддръжката на кода.