Aan de slagBegin gratis

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

Bekijk cursus

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.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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