НачатьНачать бесплатно

Реализация паттерна 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;
    }
}
Редактировать и запускать код