Реализация паттерна Singleton
В вашем приложении необходимо управлять конфигурацией логирования для нескольких компонентов. Сейчас каждый компонент создаёт собственный экземпляр LogManager, что приводит к несогласованности настроек. Завершите реализацию паттерна Singleton, чтобы все компоненты использовали единую конфигурацию логирования.
Это упражнение является частью курса
Оптимизация кода на Java
Инструкции к упражнению
- Добавьте переменную
staticс именемinstanceтипаLogManager. - Сделайте конструктор доступным только внутри класса.
- Создавайте экземпляр
LogManagerтолько в том случае, если он в данный момент равен null.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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;
}
}