LoslegenKostenlos loslegen

Das Singleton-Muster implementieren

Deine Anwendung muss Protokollierungskonfigurationen über mehrere Komponenten hinweg verwalten. Derzeit erstellt jede Komponente ihren eigenen LogManager, was zu inkonsistenten Konfigurationen führt. Du sollst die Implementierung des Singleton-Musters fertigstellen, damit alle Komponenten dieselbe Protokollierungskonfiguration teilen.

Diese Übung ist Teil des Kurses

Codeoptimierung in Java

Kurs anzeigen

Anleitung zur Übung

  • Füge eine static-Variable namens instance vom Typ LogManager hinzu.
  • Mache den Konstruktor nur innerhalb der Klasse zugänglich.
  • Erzeuge eine LogManager-Instanz nur, wenn sie derzeit null ist.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen