Sobes.tech
Junior — Middle

Можете ли да наведете примере DI контејнера који се користе у развоју?

sobes.tech АИ

Одговор од АИ

U C#-u se široko koriste različiti kontejneri za ubrizgavanje zavisnosti (Dependency Injection, DI). Evo nekoliko popularnih primera:

  • Microsoft.Extensions.DependencyInjection — ugrađeni kontejner u .NET Core i .NET 5+, jednostavan i efikasan za većinu zadataka.
  • Autofac — moćan i fleksibilan kontejner sa naprednim mogućnostima, podržava složene scenarije.
  • Ninject — zgodan i lako proširiv kontejner sa konciznom sintaksom.
  • Unity — kontejner od Microsoft Patterns & Practices, podržava mnoge funkcije.

Primer korišćenja ugrađenog kontejnera:

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

Ovi kontejneri pomažu u upravljanju životnim ciklusom objekata i olakšavaju testiranje i održavanje koda.