##Text

Для того чтобы система адекватно выглядела в браузере и поддерживала компонентный подход, она должна быть шаблонно-ориентированной, а не контроллерно-ориентированной. Шаблон определяет:

Изобразим новую схему взаимодействия элементов компонентного подхода.


Взаимосвязь элементов компонентного подхода

Мы видим, что, как и ожидалось, внимание переключилось с Контроллера на Шаблон. Давайте рассмотрим другие особенности схемы.

Примечание

К вопросу о первичности Шаблона. Представьте, что вы сидите перед монитором и пытаетесь попасть мышью в полосу прокрутки на окне. С чем вы тогда общаетесь — с окном и линейкой прокрутки, или же с той программой, которая обрабатывает движения курсора, перерисовывает линейку прокрутки и подкачивает данные с диска?.. Иными словами, на интуитивном уровне вы ведь "разговариваете" именно с интерфейсом объекта (Шаблоном), а не с его "внутренностями" (Контроллером или Компонентом), не так ли?.. Так что идея использования Шаблона в качестве первичного элемента вполне естественна.

Но позвольте, довольно сухой теории! Проиллюстрируем, как можно реализовать нашу гостевую книгу с использованием компонентного подхода. Мы приведем код Шаблона книги и ее единственного Компонента. Что касается Модели, то она не меняется, и ее код уже был приведен в листинге  50.5.