Встречается на собеседованиях • сегодня
Почему Singleton считается антипаттерном
Singleton считается антипаттерном из-за нескольких проблем:
- Глобальное состояние – усложняет тестирование, так как состояние сохраняется между тестами.
- Нарушение SRP – часто становится "божественным объектом", управляющим слишком многим.
- Скрытые зависимости – сложно отследить, где используется синглтон.
- Проблемы с многопоточностью – требует аккуратной реализации (double-checked locking, enum-подход).
Пример плохого синглтона:
java
public class BadSingleton {
private static BadSingleton instance;
private BadSingleton() {}
public static BadSingleton getInstance() {
if (instance == null) {
instance = new BadSingleton(); // Проблема в многопоточной среде
}
return instance;
}
}Лучше использовать DI (например, через Spring или Guice), где зависимости явно объявляются и могут быть легко заменены в тестах.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы