Что касается архитектуры extjs вообще.
Чуть ли не все классы(model/view/controller/component и тд) в extJs, реализует модель поведения observer.
грубо говоря паттерн observer отслеживает события в классах и реагирует на них, а также может сам генерировать события.
View тоже наследует модель поведения от observer, а значит мы можем работать с событиями в view. Но если событий в view стало слишком много, или нам нужно работать с несколькими view, то мы можем создать контроллёр(опять же наследующий observer) которому мы дадим задачу следить за интерисующими нас классами, и заставим контролёр обрабатывать события.
Вдумайтесь.
-Когда мы встаиваем компонент в view, и обрабатываем события компонентов в view, то по сути view в этом случае функционирует как обсервер следящий за событиями в компонентах. Если вложенность больше, то это не что другое как обсервер , следящий за событиями другого observer'а.
-Когда мы создаём контролёр по сути это тот же обсервер следящий за событиями, но в отличии от копонент и view, контролёр нечего неотображает на экране. Думаю при желании один контролёр можно даже научить следить за событиями другого контролёра.
Если угодно то в ExtJs контролёр можно воспринимать как вспомогательную надстройку/следилку за событиями, которую можно использовать по желанию/необходимости. ОДнако необязательность контролёра не означает что он не нужен совсем.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 22.06.2012 в 13:05.
|