![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+4 06.05.14]
|
Цитата:
Wolsh может че и напутал конечно, но я вот о чем object.addEventListener('some' , func ) GlobalDestroyer.add(someObject) ..... add some 100 diffrent objects .... GlobalDestroyer.destroyAll() // сдесь снимаются слушатели с каждого объекта , затем объекты снимаются с дисплей листа Иначе пришлось бы делать что то в духе add(object , func ) , что неудобно ибо слушателей на 1 объект я могу повесить много, и каждый раз обращаться не хочется, хочется 1 раз добавить объект и все, а глобал в итоге будет знать скока там всего на нем висит. Или вы о чем то другом ?
__________________
Марк Tween |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
in4core, я уже не раз тут высказывался о своем отрицательном отношении ко всяким глобальным штуковинам, так что в такой нелепой на мой взгляд деятельности я Вам не смогу ничем помочь. Поскольку нет нативного способа вытащить ссылку на хендлер (по причине, которую я привел выше – такая возможность означала бы возможность доступа к приватным полям), для такого глобального пула Вам придется сохранять ссылки на хендлеры. Результат очевиден – GlobalDestroyer делает невозможным удаление объектов из памяти, так как хранит на них ссылки. Придумайте название получше, чтобы разрешить этот парадокс)).
Я стараюсь придерживаться архитектуры Master/Slave. У каждого объекта есть только один хозяин, который создал этот объект и имеет с ним контракт. Только хозяин может приказывать объекту и распоряжаться его судьбой, но хорошая новость в том, что хозяин знает все что нужно об этом объекте. Если на объекте висят слушатели, то это хозяин их повесил, и для него не проблема снять все слушатели. Ввод в эту архитектуры какой-то внешней суперсилы типа глобальных Вершителей-Нарушителей, убивает на корню какую-то надежду на контроль, соблюдение контрактов и выполнение ответственностей, и лично мной как допустимое в программировании не рассматривается. Добавлено через 4 минуты GlobalDestroyer – отличное название. Он полностью разрушает все связи между органами программы, превращая проект в разлагающийся труп.
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|