Modelo de evento versus retorno

Considere utilizar retornos simples, ao invés de modelo de evento.

O modelo de evento do ActionScript 3.0 é baseado no conceito de envio de objeto. O modelo de evento é orientado a objeto e otimizado para reutilização de código. O método dispatchEvent() se repete através da lista de ouvintes e chama o método manipulador de evento em cada objeto registrado. No entanto, uma das desvantagens ode modelo de evento é que você provavelmente criará muitos objetos durante o tempo de vida de sua aplicação.

Imagine que você precisa enviar um evento da linha do tempo, indicando o fim de uma sequência de animação. Para concluir a notificação, você pode enviar um evento de um quadro especifico na linha do tempo, como ilustra o código a seguir:

dispatchEvent( new Event ( Event.COMPLETE ) );

A classe Documento pode ouvir este evento com a seguinte linha de código:

addEventListener( Event.COMPLETE, onAnimationComplete );

Embora esta aproximação esteja correta, utilizar o modelo de evento nativo pode ser mais lento e consumir mais memória que uma função de retorno tradicional. Objetos de evento devem ser criados e alocados na memória, o que cria uma redução no desempenho. Por exemplo, quando estiver ouvindo o evento Event.ENTER_FRAME, um novo objeto de evento é criado em cada quadro para o manipulador de evento. O desempenho pode ser especialmente lento para exibir objetos, por causa das fases de captura e bolha o que pode ser dispendioso se a lista de exibição for complexa.