De Singleton-pattern implementeren
Je applicatie moet logconfiguraties beheren over meerdere componenten. Elk component maakt nu zijn eigen LogManager, wat leidt tot inconsistente configuraties. Je moet de implementatie van het singleton-pattern afronden zodat alle componenten dezelfde logconfiguratie delen.
Deze oefening maakt deel uit van de cursus
Code optimaliseren in Java
Oefeninstructies
- Voeg een
staticvariabele genaamdinstancetoe van het typeLogManager. - Maak de constructor alleen binnen de klasse toegankelijk.
- Maak alleen een
LogManager-instance aan als deze momenteel null is.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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;
}
}