Sobes.tech
Junior — Middle

Kun je andere typen levenscycli van objecten die in IoC-containers worden gebruikt, naast singleton, noemen?

sobes.tech AI

Antwoord van AI

Naast de Singleton-levenscyclus worden in IoC-containers vaak de volgende typen objectlevenscycli gebruikt:

  • Transient (Tijdelijk): elke aanvraag voor een object creëert een nieuwe instantie. Gebruikt wanneer een fris object zonder toestand nodig is.
  • Scoped (Scope): het object wordt één keer per gedefinieerde scope gemaakt, bijvoorbeeld voor één HTTP-verzoek in webapplicaties. Na het einde van de scope wordt het object vernietigd.
  • Per Thread (Per draad): het object wordt één keer per thread gemaakt, handig voor multithread-toepassingen.

Voorbeeld in C# met Microsoft.Extensions.DependencyInjection:

services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Transient
services.AddScoped<IMyService, MyService>();   // Scoped