Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj zmienną static o nazwie instance typu LogManager.
  • Ogranicz dostęp do konstruktora tak, aby był widoczny wyłącznie wewnątrz klasy.
  • Utwórz instancję LogManager tylko 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;
    }
}
Edytuj i uruchom kod