Показать сообщение отдельно
Старый 12.02.2012, 02:16
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 1  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию запуск событий одного класса во множестве

Не знаю как правильно назвать тему, извиняйте.

Давно мучает такой вопрос, есть у нас класс управляющий сервером, тоесть класс приемник данных от сервера и соотв диспатчит события при приходе определенных данных. Задача - подписываться на события из разных классов.
Самый простой вариант делаем класс статическим, создавая внутри диспатчер, и теперь из любой точки можно подписаться как
Код AS3:
StaticClass.addEventListener(...)
( естевенно addEventListener кастомный метод ). Так например на часть событий я могу подписаться в одном классе, а на часть в другом, или даже выписывать одни и теже события в разных классах выполняя различные методы.
Вариант два, так же статик, но передавать туда диспатчер типа
Код AS3:
StaticClass.dispatcher = internalDispacther;
internalDispatcher.addEventListener...
А в каждом новом классе internalDispatcher = StaticClass.dispatcher;
Этот самый вариант 2, видимо самый и убогий.
Но вариант 1, тоже не блещет, где то говорилось и обсуждалось , что статик в этом случае не есть тру.
Так вот интересно ваше мнение,
1. имеет право на жизнь статик в данном контексте ?
2. если не статик, то как ?
Архитектруа
Код AS3:
ServerClass
....
function onGetData(data) {  ???.dispatchEvent(...) }
//
SomeOtherClass
...
???.addEventListener(ServerClassEvents.SOME_EVENT... )
...
SomeOtherOtherClass и т.д.
 
???.addEventListener(ServerClassEvents.SOME_EVENT... )
__________________
Марк Tween