Показать сообщение отдельно
Старый 30.05.2014, 02:24
zCHESNOKz вне форума Посмотреть профиль Отправить личное сообщение для zCHESNOKz Посетить домашнюю страницу zCHESNOKz Найти все сообщения от zCHESNOKz
  № 3  
Ответить с цитированием
zCHESNOKz
 
Аватар для zCHESNOKz

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
Цитата:
Сообщение от KBAC Посмотреть сообщение
Логика такая:
Создаёте пул - это такой посредник, который прячет в себе логику хранения и создания объекта.
Когда вам нужен новый объект - обращаетесь к пулу "Дай объект".
Пул в свою очередь смотрит, есть ли у него свободные объекты. Если есть - отдаёт один из свободных, иначе создаёт новый и отдаёт его.
Когда объект вам больше не нужен (врага убили, как пример), вы отчищаете объект, отписываетесь от всех слушателей и говорите пулу - "возьми объект назад". Пул сохраняет возвращённый объект в список свободных объектов.
Для отчистки объекта удобно заводить у него специальный метод - reset(), например. Но от слушателей всё равно придётся отписываться руками.

Похоже я пару страниц не прочитал. Ок.
Спасибо, понимаю, что к чему