Показать сообщение отдельно
Старый 23.03.2008, 10:46
WindWalker вне форума Посмотреть профиль Отправить личное сообщение для WindWalker Найти все сообщения от WindWalker
  № 96  
Ответить с цитированием
WindWalker

Регистрация: Nov 2006
Сообщений: 223
Самый обсуждаемый здесь момент: "что такого хорошего есть в синглтоне, ради чего стоит писать на целых 14 символов больше".
----------------------------------------

Вот ситуация, когда Одиночка нужен именно как Одиночка.

Для создания объекта B нам необходимо, чтобы уже существовал объект A.
Например, B создаётся с помощью A. Либо между ними есть какая-то связь, которая должна быть прописана сразу в момент создания.
Конкретика не важна, главное, что для создания B обязательно требуется, чтобы уже существовал A.

Но и для объекта C тоже необходимо существование A, причём того же самого. А ещё для D и E.
И создание объектов B, C, D и E раскидано по разным классам. Причём заранее неизвестно, в каком именно порядке они будут создаваться в процессе выполнения.

Вот тут-то как раз и надо, что A был Одиночкой. Когда он требуется в первый раз - создаётся. Когда требуется снова - используется уже созданный объект.

Хороший пример такой ситуации пока привести не могу. Пока есть только неудачный пример и поэтому я его приводить не буду