Začněte nyníZačněte zdarma

Implementace návrhového vzoru Singleton

Tvoje aplikace potřebuje spravovat konfiguraci logování napříč několika komponentami. Každá komponenta si v současnosti vytváří vlastní instanci LogManager, což vede k nekonzistentní konfiguraci. Dokonči implementaci návrhového vzoru Singleton, aby všechny komponenty sdílely stejnou konfiguraci logování.

Toto cvičení je součástí kurzu

Optimalizace kódu v Javě

Zobrazit kurz

Pokyny k cvičení

  • Přidej proměnnou static s názvem instance typu LogManager.
  • Zajisti, aby byl konstruktor přístupný pouze zevnitř třídy.
  • Instanci LogManager vytvoř jen tehdy, když je aktuálně null.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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;
    }
}
Upravit a spustit kód