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