Junior — Middle
Μπορείτε να αναφέρετε άλλους τύπους κύκλων ζωής αντικειμένων που χρησιμοποιούνται σε κοντέινερ IoC, εκτός από singleton;
sobes.tech AI
Απάντηση από AI
Εκτός από τον κύκλο ζωής Singleton, στα IoC κοντέινερ συχνά χρησιμοποιούνται οι ακόλουθοι τύποι κύκλου ζωής αντικειμένων:
- Transient (Μεταβατικό): κάθε αίτημα για αντικείμενο δημιουργεί μια νέα περίπτωση. Χρησιμοποιείται όταν χρειάζεται ένα φρέσκο αντικείμενο χωρίς κατάσταση.
- Scoped (Περιοχή): το αντικείμενο δημιουργείται μία φορά ανά ορισμένη περιοχή, π.χ., για ένα HTTP αίτημα σε web εφαρμογές. Μετά το τέλος της περιοχής, το αντικείμενο καταστρέφεται.
- Per Thread (Ανά νήμα): το αντικείμενο δημιουργείται μία φορά ανά νήμα, χρήσιμο για πολυνηματικές εφαρμογές.
Παράδειγμα σε C# με Microsoft.Extensions.DependencyInjection:
services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Μεταβατικό
services.AddScoped<IMyService, MyService>(); // Περιοχή