Главная
Новости
Статьи и обзоры
Горожанин
Обнинск в Internet
Web Design
Hardware
Software
Безопасность
Серфинг
Игродром
Relax
Технологии
Web-обзор
Интернет-ликбез
Опросник
УП-Технологии
ART.net
Ссылки
Архив
О нас
Контакты
Форумы
Основатель: К.Николаенко
Главный Редактор: С.Коротков
Web Design: Neutron
|
|
= Web-Дизайн =
АРХИТЕКТУРА КРУПНЫХ ФОРМ
окончание, начало в:#9(157) , #10(158)
© Артемий Ломов
ГЛАВНОЕ - ПЕРВЫЙ ШАГ
Сложные многошаговые приложения обычно состоят из нескольких взаимосвязанных скриптов, но есть и исключения - некоторые вполне солидные и полнофункциональные приложения могут быть организованы в виде одного единственного исполняемого файла. Достоинство первого подхода состоит в том, что разрозненные скрипты являются достаточно простыми, более "шустрыми" в плане производительности и менее требовательными к памяти. Недостатком же является тот факт, что во множестве скриптов неизбежно повторяются одни и те же базовые инструкции, отвечающие, к примеру, за чтение и разбор строки запроса. Второй подход пусть и сопряжен с некоторой громоздкостью "монолитного" кода, дает возможность описывать унифицированные процедуры лишь однократно, что предпочтительнее с точки зрения оперативности внесения изменений в такие блоки кода. В контексте данной темы, как мне представляется, целесообразно будет рассмотреть практический пример логики построения реально существующего онлайнового магазина.
Итак, интернет-магазин состоит из двух скриптов. Один из них выполняет поиск в базе данных по нескольким критериям, заданным пользователем. При запуске выводится форма, с помощью которой можно определить условия поиска, после чего эти параметры отправляются тому же самому скрипту методом GET. Этот метод был избран для того, чтобы была возможность поставить извне непосредственную гипертекстовую ссылку на тот или иной отчет. Форма для задания параметров поиска выводится всякий раз при обращении к скрипту, вне зависимости от того, производился сам поиск или еще нет. Это позволяет искать интересующие товары неограниченное число раз. Найденные по запросу позиции выводятся в виде очередной веб-формы с полями для указания требуемого количества напротив каждого наименования. Выборка могла быть большой (до нескольких сотен товаров), но было принято решение не разбивать обширные отчеты на отдельные страницы, потому что при таком подходе до товаров, находящихся в середине списка, существенная часть потенциальных покупателей никогда не доберется. Данные о требуемом количестве заказываемых товаров отправляются второму скрипту методом POST (этот метод выбран в первую очередь вследствие потенциально крупных размеров выборок). Скрипт занимается пополнением "корзины заказа", предоставляя пользователю на выбор три возможности:
- продолжить выбор необходимых наименований при помощи первого скрипта
- очистить корзину
- заполнить анкету с личными данными и тем самым подтвердить заказ.
В анкете, в свою очередь, некоторые поля являются обязательными, а часть значений проверяется на наличие недопустимых символов и на соответствие определенному формату. Использование метода POST позволило предусмотреть в форме анкеты элемент
|
|