Является ли шаблон проектирования состояния избыточным для формы PHP? - PullRequest
4 голосов
/ 03 августа 2010

У меня есть страница, на которой при доступе отображается таблица информации, относящейся к видео:

  • Код для вставки
  • Заголовок
  • Описание
  • Текущая галерея
  • Миниатюра изображения

Эта информация доступна только для чтения при первом доступе к странице.

Существует меню выбора со следующими параметрами:

  • Редактировать описание
  • Создать миниатюру (загрузить / заменить)
  • Редактировать код для вставки
  • Изменить галерею
  • Удалить видео

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

Например, если выбрано «Редактировать описание», страница перезагружается и текст описания заменяется вводом текста.Если выбран «Создать миниатюру», отображается вход для загрузки файла.

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

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

  1. Состояние отображения
  2. Состояние ввода формы

Но мой вопрос в том, будет ли использование шаблона состояний излишним?

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

Спасибо!

Ответы [ 2 ]

4 голосов
/ 03 августа 2010

Нет, государственный шаблон проектирования не является чрезмерным. Вероятно, это очень хороший выбор алгоритма для обработки такого сложного интерфейса. Я использовал движки состояний в PHP несколько раз; это помогает вам творчески подумать о проблеме, и вы часто получаете бонус в гибкости.

Хотелось бы, чтобы больше программистов знали о таких вещах.

0 голосов
/ 03 сентября 2012

Чем больше я использую шаблоны проектирования, включая шаблон State в PHP, тем больше я убежден, что они экономят время. Первоначально, это может занять больше времени для развития, но не намного дольше. Однако, когда дело доходит до изменения и обновления, они экономят огромное количество времени. Ваш код лучше организован, понятен и с меньшей вероятностью проникнет в ваш код, который вы получите благодаря жесткой привязке вне шаблонов проектирования. Я сделал несколько шаблонов дизайна PHP на php5dp.com, но ничего в State dp.

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