Встречается на собеседованиях • сегодня

Почему иногда Singleton это плохо

Singleton может быть плохим выбором по нескольким причинам:

  1. Глобальное состояние - усложняет тестирование, так как состояние сохраняется между тестами
  2. Нарушение SRP - часто становится "god object", накапливая слишком много логики
  3. Проблемы с многопоточностью - требует аккуратной реализации в concurrent среде
  4. Жёсткая связность - усложняет модификацию и расширение кода

Пример плохого Singleton:

java
public class BadSingleton {
    private static BadSingleton instance;
    public String state; // Плохо: изменяемое состояние
    
    private BadSingleton() {}
    
    public static synchronized BadSingleton getInstance() {
        if (instance == null) {
            instance = new BadSingleton();
        }
        return instance;
    }
}

Лучше использовать DI или фабрики там, где это возможно. Singleton оправдан только для действительно уникальных ресурсов (например, connection pool).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы