15. Какие проблемы есть у синглтонов?Теория

Темы

Компании

Синглтон это скрытая глобальная переменная. Любой код берёт его сам, по сигнатуре метода зависимость не видна. Отсюда общее изменяемое состояние на всё приложение, трудный тест и порядок инициализации, который нигде не записан. Второй экземпляр, например для другого пользователя, завести нельзя: экземпляр один на процесс.

  • тесту достаётся боевой объект, а не подделка
  • состояние переживает тест и протекает в следующий
  • обращения из разных потоков нужно защищать внутри самого синглтона