Sobes.tech
Junior — Middle

Wat is het doel van het Lazy Singleton-patroon en hoe wordt het geïmplementeerd?

sobes.tech AI

Antwoord van AI

Het Lazy Singleton-patroon is ontworpen om een enkele instantie van een klasse te creëren, en deze instantie wordt alleen geïnitialiseerd bij de eerste toegang, niet bij het laden van de klasse. Dit bespaart bronnen als het object mogelijk niet nodig is.

Voorbeeld van implementatie van Lazy Singleton in Java met uitgestelde initialisatie en synchronisatie:

public class LazySingleton {
    private static LazySingleton instance;

    private LazySingleton() {
        // privé constructor
    }

    public static synchronized LazySingleton getInstance() {
        if (instance == null) {
            instance = new LazySingleton();
        }
        return instance;
    }
}

Hier wordt het object alleen aangemaakt bij de eerste aanroep van getInstance(). Synchronisatie zorgt voor threadveiligheid, maar kan de prestaties beïnvloeden. Om dit te verbeteren, kan double-checked locking of een statische interne klasse worden gebruikt.