Aan de slagGa gratis aan de slag

De Singleton-pattern implementeren

Je applicatie moet logconfiguraties beheren over meerdere componenten. Elk component maakt nu zijn eigen LogManager, wat leidt tot inconsistente configuraties. Je moet de implementatie van het singleton-pattern afronden zodat alle componenten dezelfde logconfiguratie delen.

Deze oefening maakt deel uit van de cursus

Code optimaliseren in Java

Cursus bekijken

Oefeninstructies

  • Voeg een static variabele genaamd instance toe van het type LogManager.
  • Maak de constructor alleen binnen de klasse toegankelijk.
  • Maak alleen een LogManager-instance aan als deze momenteel null is.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

public class Main {
    public static void main(String[] args) {}
}

class LogManager {
	// Add static instance variable to hold the instance
    private static ____ ____;
    private Map logConfig;
    
    // Make constructor accessible only from within the class
    ___ LogManager() {
        logConfig = new HashMap<>();
    }
    
    public static LogManager getInstance() {
    	// Only create if instance is currently null
        if (____ ____ ____) {
            instance = new LogManager();
        }
        return instance;
    }
}
Code bewerken en uitvoeren