LoslegenKostenlos starten

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

<Kurs>Codeoptimierung in Java</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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