Как раньше упоминал Михаэль Махемофф, размышляя о больших и масштабируемых JavaScript-приложениях, весьма выгодно использовать в приложении больше динамических свойств языка. Вы можете прочитать об этом больше в его заметках на странице Google+, но я хочу подробнее остановиться на одной особенности — автоматической регистрации событий (AER).

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

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

К примеру, при работе динамически, объекты должны регистрировать себя после создания. Если вас это заинтересовало — посмотрите пост Михаэля об AER, где он более подробно обсуждает как бороться с проблемами этого подхода.

Рекомендуем почитать:
Книги по JavaScript на ozon.ru
Книги по JavaScript на books.ru
Книги по JavaScript на my-shop.ru