Think outside the Event

Это очень, очень крутая идея. Использование сигналов в as3 из с#.
Aiden Tailor написал статью, про их использование
Что такое сигнал?
Сигнал — класс, который по сути является мини-диспачером одного события со своим массивом слушателей.
В чем выигрыш?
1) Меньше кода. Вот только вспомните, чего вам стоит создать свое собственное событие, прописать “стопятьсот” констант в нем, необходимые переменные которые будет принимать конструктор события. А тут можно спокойно обойтись без констант. Тут всё готово. Это simple!
2) Т.к. сигнал это класс. Следовательно мы получаем больше контроля над ним, уже как над объектом. Т.е. можем его подписывать к какому-нить другому, научить сигнал общаться с другими объектами и т.д. Невероятно! Всё становиться проще, логичнее и красивее!
Doomer Samoiloff очень грамотно написал мне в скайп:
1. производительность примерно одинаковая, даже если в 2 раза отличается – это фигня
2. для среднего-большого проекта размер флешки уменьшится, так как меньше кода
3. оперативки правда будет жрать больше, но это тоже не критично, такого, как во флексе не будет. 4 кб на инстанс – это фигня. главное под каждое проперти не создавать инстанс сигнала, а передавать параметры
кстати было бы неплохо написать замену диспатчера по подобию сигнала, который бы сравнивал не строки, а например integer – шустрее бы работало

SergeyGonchar
flash-developer
Visit Gonchar Website.

4 Responses to “Think outside the Event”

  1. elmortem says:

    А зачем событию “100500” констант? Если событие “привязано” к конкретному классу, то скорее всего там будет не больше десяти констант. Если объект какой-то очень многофункциональный и генерирут дофига событий, то может имеет смысл разбить его на 2?
    Но идея интересная, пойду почитаю.

  2. Flastar says:

    *А зачем событию “100500” констант?*
    Это уже как у кого сколько получается)
    *Если объект какой-то очень многофункциональный и генерирут дофига событий, то может имеет смысл разбить его на 2?*
    для такого объекта я теперь определенно буду использовать сигналы)

  3. shaman4d says:

    Ну не знаю, у нас кнстанты для событий хранятся в ивент мапах и никаких проблем не возникало. Наоборот лучше все в одном месте держать чем бегать по пекейджам и искать сигналы.

  4. elmortem says:

    Почитал, впечатлился, тоже буду использовать в своём двигле.

Leave a Reply

×
%d bloggers like this: