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
Anleitung zur Übung
- Füge eine
static-Variable namensinstancevom TypLogManagerhinzu. - 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;
}
}