Управление параметрами для полного сайта! - PullRequest
0 голосов
/ 26 января 2011

На стартовой странице моего сайта у меня есть маска поиска, в которой пользователь выбирает разные критерии поиска.Когда пользователь этого не делает, тогда для параметров поиска будут установлены значения по умолчанию.

При нажатии на кнопку «Поиск» пользователь попадает на страницу предварительного просмотра, где у пользователя есть возможность уточнить свои параметры поиска agaian.И там может быть много разных типов страниц предварительного просмотра.Например, если пользователи выполняют поиск в категории «Автомобили», то страница предварительного просмотра будет другой, а маска поиска будет такой же, как и в категории «Мотоцикл».

Но опять же страница сведений является единой для всех видов продуктов.

Теперь я хочу написать компонент, который может содержать параметры поиска на начальной странице и для всех видов обзорных страниц.

И я также хотел бы отследить ту информацию, с какой страницы предварительного просмотра я попал на страницустраницу подробностей, и когда пользователь возвращается со страницы подробностей обратно на страницу предварительного просмотра, я должен был загрузить желаемую маску со значениями, которые пользователь уже уточнил.

Что будет лучшим решением для решения этой проблемы и есть лишаблон дизайна для такой проблемы?

Большое спасибо.

1 Ответ

1 голос
/ 26 января 2011

Вообще говоря, не существует шаблона проектирования для конкретной проблемы, которую вы описали.В зависимости от того, как вы хотите его смоделировать, вы можете реализовать такие шаблоны, как Стратегия , Состояние и / или Команда .Где каждый из них обеспечивает некоторую возможность для инкапсуляции состояния (например, какой тип предварительного просмотра и критерии) и некоторое связанное поведение.

Три варианта отслеживания критериев поиска с использованием различных областей переменных ColdFusion:

  1. сессия
  2. cookie
  3. клиент

Область сеанса

Это серверная память, связанная с данным пользователем с помощью файла cookie, в который разработчик может поместить информацию.Срок его действия истекает после периода бездействия, а ColdFusion обеспечивает обработку событий вокруг его инициализации и истечения с помощью Application.cfc.Полезно, если вы решили прикрепить объекты с состоянием к каждому пользователю.Недостатком является то, что вы можете исчерпать память, если туда помещается много информации и / или используются долгоживущие сеансы.

Cookie

Устанавливает файлы cookie клиента.Может легко захватывать простые данные.Не удается захватить объекты - вам нужно сериализовать и десериализовать их состояние.Хорошо масштабируется, потому что сервер отслеживает только cookie.Легко взломан.

Клиент

Считывает и записывает данные, связанные с сеансом пользователя, из персистентности. По умолчанию это реестр в Windows - не используйте его, так как он может привести к краху вашего сервера с тяжелыми последствиями в случае повреждения реестра. Вместо этого обратитесь к администратору и настройте его на использование базы данных.Полезно, когда вы хотите отслеживать много информации о ваших пользователях, когда они перемещаются по сайту, но только в масштабе и в резервной базе данных.Необходимо сериализовать данные как в области cookie.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...