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ě
Pokyny k cvičení
- Přidej proměnnou
statics názveminstancetypuLogManager. - Zajisti, aby byl konstruktor přístupný pouze zevnitř třídy.
- Instanci
LogManagervytvoř 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;
}
}