Junior — Middle
Quelle est la finalité du pattern Lazy Singleton et comment est-il implémenté?
sobes.tech IA
Réponse de l'IA
Le patron Lazy Singleton est conçu pour créer une seule instance d'une classe, et cette instance est initialisée uniquement lors de la première utilisation, et non lors du chargement de la classe. Cela permet d'économiser des ressources si l'objet peut ne pas être nécessaire.
Exemple d'implémentation du Lazy Singleton en Java utilisant une initialisation différée et la synchronisation:
public class LazySingleton {
private static LazySingleton instance;
private LazySingleton() {
// constructeur privé
}
public static synchronized LazySingleton getInstance() {
if (instance == null) {
instance = new LazySingleton();
}
return instance;
}
}
Ici, l'objet n'est créé que lors du premier appel à getInstance(). La synchronisation assure la sécurité dans un environnement multithread, mais peut impacter la performance. Pour améliorer cela, on peut utiliser la double vérification de verrouillage (double-checked locking) ou une classe interne statique.