PDA

Просмотр полной версии : разница между AsBroadcaster и EventDispather'ом


: hr :
23.08.2007, 19:33
Друзья, можно конкретно - в чем между AsBroadcaster и EventDispather разница? Вот тут http://http://www.flasher.ru/forum/showpost.php?p=427647&postcount=1 упоминается об EventDispatcher умеет рассылать не все события кучей, а по одному - а можно маленький примерчик? Как это? Проанализировал оба класса - разницы не увидел: что один, что второй добавляют в объект-генератор методы для работы со слушателями, оба отправляют слушателям значения, а не объекты...

и попутно вопрос: можно ли наследоваться от EventDispatcher, и в чем тогда смысл EventDispatcher.initialize()?

silin
23.08.2007, 22:28
как я понимаю:
все верно, оба нужны для вызова подписанных обработчиков , только у бродкастера это массив слушателей с одноименным методом, а у евентДиспатчера это массив массивов слушателей (которыми могут быть как объекты с таким методом, так и сами обработчики, подписанные на евент)
т.е. второй гибче: на одно событие можно подписать/отписать несколько обработчиков, на разные события можно подписать/отписать один и тот же обработчик..

смысл initialize(obj) у обоих в копировании своих методов в obj.., конструктора нет, экземпляр напрямую создать нельзя, только скопировать методы..
пожалуйста наследуйся, если нужен диспатчер с каким-то дополнительным функционалом ..