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

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