Корзина для заказа
Корзина для заказа служит для добавления в неё заказываемых
пользователем товаров. Данная информация может храниться
на стороне сервера или клиента. В первом случае используются
текстовые файлы или базы данных, во втором - массивы JavaScript
и cookies. Реализация корзины на стороне сервера имеет один
существенный недостаток - низкая скорость доступа. Даже
относительно небольшая задержка при загрузке с сервера заказанных
позиций может негативно повлиять на восприятие пользователей.
Кроме того, происходит увеличение нагрузки на сервер, что
может при большом количестве запросов ощутимо снизить производительность
работы всего интернет-магазина. Механизм cookies имеет в
этом отношении некоторые преимущества перед серверными решениями,
однако придётся постоянно производить дополнительную обработку
cookies-строк для вывода информации в табличную форму. Данную
и многие другие проблемы можно решить с помощью массива
объектов на JavaScript, однако, в этом случае, придётся
использовать фреймы, что многими разработчиками не приветствуется,
а зря, поскольку при грамотном использовании фреймов можно
создать интернет-магазин на порядок превосходящий традиционные
решения (подробнее).
В отличие от каталога, заказ - достаточно простая структура данных, которая обычно включает в себя следующие поля: название товара, количество, цена и сумма. Редактирование заказа заключается в изменении количества заказываемого товара или его удаления из заказа. Предположим, что корзина реализована на сервере. Тогда последовательность действий будет такой:
- Изменить количество товара в поле "Количество" и щелкнуть по кнопке "Обновить".
- Сохранить изменения на сервере.
- Загрузить с сервера обновленный заказ (загрузить всю выборку данных).
Для выполнения такой простой операции необходимо осуществить
два обращения к серверу и повторно загрузить весь заказ,
скорость отображения которого будет уменьшаться пропорционально
количеству позиций в заказе. В случае использования массива
JavaScript последовательность действий будет следующей:
- Изменить количество товара в поле "Количество" и нажать клавишу Enter.
- Произвести изменения в массиве объектов.
- Вывести новое значение количества в соответствующее поле записи.
В этом случае операция изменения количества происходит без обращения к серверу, что существенно увеличивает скорость её выполнения, особенно при его сильной загрузке. Более того, происходит обновление только поля количества записи, без повторной загрузки всего заказа. Благодаря этому редактирование заказа осуществляется практически в реальном масштабе времени.
Copyright © 2016