Implémenter le patron Singleton
Votre application doit gérer les configurations de journalisation à travers plusieurs composants. À l'heure actuelle, chaque composant crée son propre LogManager, ce qui entraîne des incohérences de configuration. Vous devez terminer l'implémentation du patron singleton afin que tous les composants partagent la même configuration de journalisation.
Cette activité fait partie du cours
Optimiser le code en Java
Instructions de l’exercice
- Ajoutez une variable
staticnomméeinstancede typeLogManager. - Rendez le constructeur accessible uniquement depuis la classe elle‑même.
- Ne créez une instance de
LogManagerque si elle est actuellement nulle.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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;
}
}