Sobes.tech
Junior — Middle

Kannst du andere Arten von Lebenszyklen von Objekten nennen, die in IoC-Containern verwendet werden, neben Singleton?

sobes.tech KI

Antwort von AI

Neben dem Singleton-Lebenszyklus werden in IoC-Containern häufig die folgenden Objektlebenszyklus-Typen verwendet:

  • Transient (Vorübergehend): Jede Anfrage nach einem Objekt erstellt eine neue Instanz. Wird verwendet, wenn ein frisches Objekt ohne Zustand benötigt wird.
  • Scoped (Gesteuert): Das Objekt wird einmal pro definiertem Gültigkeitsbereich erstellt, z.B. bei einer HTTP-Anfrage in Webanwendungen. Nach Abschluss des Gültigkeitsbereichs wird das Objekt zerstört.
  • Per Thread (Pro Thread): Das Objekt wird einmal pro Thread erstellt, nützlich für Multithread-Anwendungen.

Beispiel in C# mit Microsoft.Extensions.DependencyInjection:

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