Page 41 - 4252
P. 41
• Створити об'єкти моделі і викликати їх методи, необхідні для оброб-
ки даних.
• Визначити подання, яке повинно бути використано для відображення
результатів, і передати йому необхідну інформацію, отриману від моделі.
Контролер сторінок не обов'язково повинен являти собою єдиний
клас, зате всі класи контролерів можуть використовувати одні й ті ж допо-
міжні об'єкти. Це особливо зручно, якщо веб-сервер повинен мати кілька
обробників, що виконують аналогічні завдання. У цьому випадку викорис-
тання допоміжного об'єкту дозволяє уникнути дублювання коду.
При необхідності одні адреси URL можна обробляти за допомогою сторі-
нок сервера, а інші - за допомогою сценаріїв. Ті адреси URL, у яких немає або
майже немає логіки контролера, добре обробляти за допомогою сторінок серве-
ра, тому що останні є простим механізмом, зручним для розуміння та внесення
змін. Всі інші адреси, для обробки яких необхідна більш складна логіка, вима-
гають застосування сценаріїв.
Контролер запитів (Front Controller)
Опис
Контролер запитів обробляє всі запити, що надходять до Веб-сайту, і
зазвичай складається з двох частин: Веб-обробника та ієрархії команд. Веб-
обробник - це об'єкт, який виконує фактичне отримання POST або GET-
запитів, що надійшли на Веб-сервер. Він витягає необхідну інформацію з
адреси URL і вхідних даних запиту, після чого вирішує, яку дію необхідно
ініціювати, і делегує його виконання відповідної команді.
Веб-обробник зазвичай реалізується у вигляді класу, а не сторінки
сервера, оскільки він не генерує жодних відгуків. Команди також є класа-
ми, а не сторінками сервера, більше того, їм не потрібно знати про наяв-
ність Веб-оточення, не дивлячись на те, що їм часто передається інформа-
ція з HTTP-запитів. У більшості випадків Веб-обробник - це досить проста
програма, функції якої полягають у виборі потрібної команди.
40