Поскольку ваш класс предназначен для возможности совершать несколько звонков на один и тот же веб-сервис, я определенно выбрал бы вариант 2. Рассмотрим следующее:
var loader:URLTest = new URLTest();
loader.sendLoad("a");
loader.sendLoad("b");
Теперь, если вы повторно используете один и тот же URLLoaderдля обоих вызовов нет способа узнать, какое событие COMPLETE будет соответствовать какому вызову.
Чтобы решить эту проблему, вы должны создать URLLoader (+ прослушиватели событий) для каждого вызова и поместить его в массив, чтобы иметь возможность его идентифицировать.Когда ответ приходит с сервера - будь то ЗАВЕРШЕНО или IOERROR - вы можете удалить прослушиватели событий и удалить идентифицированный URLLoader (тот, который соответствует event.currentTarget
) из массива.
Проблема с производительностьютривиально здесь.Не будет никакого удара по производительности для создания группы слушателей событий, если вы не забудете их удалить, когда закончите с ними.В противном случае соответствующие URLLoaders не будут собираться мусором и будут накапливаться в памяти.
С другой стороны: нет абсолютно никаких причин для расширения с MovieClip
.Если вы хотите, чтобы ваш класс отправлял события, просто добавьте EventDispatcher
.