Junior — Middle
Care este scopul pattern-ului Lazy Singleton și cum este implementat?
sobes.tech AI
Răspuns de la AI
Modelul Lazy Singleton este conceput pentru a crea o singură instanță a unei clase, iar această instanță este inițializată doar la prima accesare, nu la încărcarea clasei. Acest lucru ajută la economisirea resurselor dacă obiectul poate să nu fie necesar.
Exemplu de implementare Lazy Singleton în Java folosind inițializare întârziată și sincronizare:
public class LazySingleton {
private static LazySingleton instance;
private LazySingleton() {
// constructor privat
}
public static synchronized LazySingleton getInstance() {
if (instance == null) {
instance = new LazySingleton();
}
return instance;
}
}
Aici, obiectul este creat doar la primul apel al metodei getInstance(). Sincronizarea asigură siguranța în medii multi-thread, dar poate afecta performanța. Pentru îmbunătățire, se poate folosi locking dublu verificare (double-checked locking) sau o clasă internă statică.