2010-02-26 3 views
0

Возможные Дубликаты:
What is so bad about Singletons
Problems with Singleton PatternЕсть ли недостатки в одноэлементном шаблоне?

Существуют ли какие-либо отрицательные стороны шаблона одиночки? Я слышал, что это был вопрос интервью, и я не понимаю, что это значит.

Имхо, это об использовании и ничего в самом шаблоне проблематично

+1

Читайте здесь http://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons – Roman

+3

В шаблоне нет ничего плохого. Но это, вероятно, шаблон, который наиболее часто используется, когда он не подходит. –

+0

Возможно дублировать http://stackoverflow.com/questions/1448393/singleton-design-pattern-pitfalls и http://stackoverflow.com/questions/1392315/problems-with-singleton-pattern – t0mm13b

ответ

1

От Wikipedia:

Некоторые считают это антишаблон, рассудив, что это злоупотребляют, вводит излишние ограничения в ситуациях, когда на самом деле не требуется единственный экземпляр класса и вводит глобальное состояние в приложение.

Лично, поскольку я начал использовать Spring для автоматической проводки моего приложения, мне никогда не приходилось писать синглтон.

1

Это очень общий вопрос, это действительно зависит от ваших вариантов использования. Я привел бы следующее:

  • Для защиты начального вызова getInstance() всегда требуется мьютекс (или синхронизированный блок), что может быть проблематичным в некоторых случаях.
  • Это хак, чтобы скрыть тот факт, что вы создаете глобальную переменную, а глобальные переменные обычно плохой. Однако есть много случаев, когда простота, которую они приносят, заметна, но обратите внимание, чтобы не злоупотреблять ими.
0
  1. Не проверяемые или, по крайней мере, трудно
  2. Трудно найти зависимые классы
  3. не позволяет подклассов
  4. ...
Смежные вопросы