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