Implementacja wzorca Singleton
Twoja aplikacja musi zarządzać konfiguracją logowania w wielu komponentach. Każdy komponent tworzy obecnie własny obiekt LogManager, co prowadzi do niespójności konfiguracji. Dokończ implementację wzorca Singleton, aby wszystkie komponenty korzystały ze wspólnej konfiguracji logowania.
To ćwiczenie jest częścią kursu
Optymalizacja kodu w Javie
Instrukcje do ćwiczenia
- Dodaj zmienną
statico nazwieinstancetypuLogManager. - Ogranicz dostęp do konstruktora tak, aby był widoczny wyłącznie wewnątrz klasy.
- Utwórz instancję
LogManagertylko wtedy, gdy aktualnie ma wartość null.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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;
}
}