Sobes.tech
Junior — Middle

Pouvez-vous nommer d'autres types de cycles de vie d'objets utilisés dans les conteneurs IoC, en plus du singleton?

sobes.tech IA

Réponse de l'IA

En plus du cycle de vie Singleton, les conteneurs IoC utilisent souvent les types de cycle de vie d'objets suivants:

  • Transient (Transitoire) : chaque requête pour un objet crée une nouvelle instance. Utilisé lorsque vous avez besoin d'un objet frais sans état.
  • Scoped (Portée) : l'objet est créé une fois par portée définie, par exemple, pour une requête HTTP dans des applications web. Après la fin de la portée, l'objet est détruit.
  • Per Thread (Par thread) : l'objet est créé une fois par thread, utile pour les applications multithread.

Exemple en C# avec Microsoft.Extensions.DependencyInjection:

services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Transitoire
services.AddScoped<IMyService, MyService>();   // Portée