Junior — Middle
Geliştirmede kullanılan DI konteynerlerine örnekler verebilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
C# dilinde bağımlılık enjeksiyonu (Dependency Injection, DI) için çeşitli DI kapsayıcıları yaygın olarak kullanılır. İşte bazı popüler örnekler:
- Microsoft.Extensions.DependencyInjection — .NET Core ve .NET 5+ ile gelen yerleşik kapsayıcı, çoğu görev için basit ve etkilidir.
- Autofac — gelişmiş özelliklere sahip güçlü ve esnek bir kapsayıcı, karmaşık senaryoları destekler.
- Ninject — kullanışlı ve kolayca genişletilebilir, özlü sözdizimi ile.
- Unity — Microsoft Patterns & Practices tarafından geliştirilen kapsayıcı, birçok fonksiyonu destekler.
Yerleşik kapsayıcı kullanımı örneği:
var services = new ServiceCollection();
services.AddTransient<IRepository, Repository>();
var provider = services.BuildServiceProvider();
var repo = provider.GetService<IRepository>();
Bu kapsayıcılar, nesnelerin yaşam döngüsünü yönetmeye ve kodun test edilmesi ve bakımı kolaylaştırmaya yardımcı olur.