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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Не знаю по мне колбек нужен по ситуации. Вот такой пример есть :
Скажем вы используете класс стороннего разработчика, создающий дисплей объект в зависимости от настроек xml. При этом xml берется с хоста разраба. ( в принципе это и не важно даже). В итоге, после загрузки того самого xml создается этот объект. - далее происходит тот самый коллбек, который вам дает возможность продолжить описание своего Main.

Код AS3:
class Main
....
addChild(object(func));
function func() {
 trace('object created')
 do something
}
.....
Тоесть в итоге объект появился в дисплей листе - и мы теперь можем с ним работать. В чем принципиальная разница в данной ситуации - в удобстве работы. Разработчик мог бы сделать КастомЕвент для данной операции, и тогда бы уже писалось
Код AS3:
object.addEventListener(ObjectEvent.OK, ok);
1. Лишняя ( дополнительная) строка по добавлению события ( ну допустим другие события и не создаются для объекта кроме одного этого)
2. В памяти висит этот эвент пока не очистится мусорщиком или не будет удален вручную
Имхо

Добавлено через 2 минуты
Ну а по факту, кому как нравится, можно делать по разному. Если вы понимаете и то и то, логично , что в итоге в зависимости от ситуации вы сделаете лучшую реализацию , чем тот, кто этого не понимает, и вам же проще потом будет с этим работать, и понимать старую писанину...