Показать сообщение отдельно
Старый 19.03.2008, 13:39
Iv вне форума Посмотреть профиль Отправить личное сообщение для Iv Посетить домашнюю страницу Iv Найти все сообщения от Iv
  № 46  
Ответить с цитированием
Iv
 
Аватар для Iv

Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
terbooter,
ситуация такова, что это очень сильно зависит от контекста.
Если ты делаешь баннер, то там можешь вообще всё реализовывать через синглтоны не задумываясь.
Если ты пишешь реюзабельный код, то довольно трудно сказать где синглетон будет незаменим.

Примеы:

Сокет-коннектор.
приложение устанавливает сокет-соединение с сервером. Из разных частей приложения вызываются команды коннектора. Команды организуются в очередь FIFO и производится контроль ответов сервера.
В этой ситуации синглетон - верное решение. Его задачи - не дать ошибиться программеру случайно создав второй экземпляр и не производить постоянную проверку на наличие коннектора перед вызовом его метода.

Библиотека кэшированных изображений.
В приложении часто используются одинаковые подгружаемые картинки (например иконки папок и файлов в меню). Существенного ускорения доступа можно достигнуть используя внутреннее кэширование. Для этого организуется библиотека-синглетон, которая при запросе картинки проверяет ее наличие в кэше и т.д.

Как видите, синглетон (он переводится как одиночка) - это такой класс, у которого может быть один и только один экземпляр.
Его одиночество как проверочное действие: если теоретически может быть несколько экземпляров, то это не синглетон.
__________________
http://realaxy.com