Еще раз - это не одно и тоже. Событийная модель, как раз возволяет избежать прямых связей и легко расширяема, в отличии от системы callback-ов. Подписка/отписка тут не причем.
Если говорить в контексте флеша, допустим у тебя есть View внутри которой 100500 кнопок, ты подписываешься на родителя(контейнер) и можешь за счет всплытия поймать событие, скажем, клика по одной из 100500 кнопок. Усложнять я могу до бесконечности.
Система сигналов/callback-ов - хороша, наверное, может быть, только в "плоской" системе, не хочу поднимать и углубляться в эту тему.
Так же стоит не забывать, что есть всякие глобальные менеджеры событий, типа EventBus и т.п.
Цитата:
То что эта ссылка не доступна дело десятое.
|
Если ты сейчас говоришь про "ссылку", подразумевая то что callback захватил this - это ошибочно. Почему callback не может быть создан в static окружении? То что так происходит технически на флеше не означает, что сущность куда передали callback - автоматически получает в распоряжение захваченное, это техническая реализация замыкания не более, не нужно придумывать проблему там где ее нет и не нужно подменять понятия, пожалуйста.
В MVC речь всегда идет о явных связях, а не о том как какая-то платформа, на какой-то виртуальной машине, после компиляции куда-то что-то сохраняет. У меня все.
UPD
Когда-то давно кто-то тут приводил хороший пример:
Выбегаешь ты на улицу и орешь во весь голос: "ПОЖАР!" - вот кто тебя услышал, тот сообщение и получил, может быть один, может быть 10, а может и никто. Вот она система сообщений, ты не знаешь кто тебя слушает, ты орешь.
А вот взял ты телефон и позвонил в пожарную - вот она система сгнал/слот. Явная связанность.
(Но система прослушки линии не знает, кто звонит, она просто определила звонок и начинает анализировать его, чтобы понять, терорист ты или нет, она явно на тебя не подписывалась, она слушает весь канал)