Нам дали программу инвентаризации php. Затем мы должны сказать, улучшит ли шаблон проектирования программу или просто усложнит программу.
Программа структурирована следующим образом.
Программа разбита на php-скрипты, встроенные в html. Либо есть (A) одна целая страница php, выделенная для одной опции, либо (B) логика опции находится внутри другой страницы скрипта, которая служит для других опций подобного действия. (Это исключает простые кнопки, такие как «Сброс» и «Вернуться на главную».)
(A) Например, после открытия веб-сайта появляется меню навигации с параметрами. Когда вы нажимаете опцию, скажем, под Customer, появляется ссылка «View». После щелчка вы попадаете на другую страницу, которая содержит другие ссылки, соответствующие другим параметрам, например «Редактировать» и «Удалить». Обычно для этого сайта каждая опция соответствует своей странице скрипта php. Например, «View» соответствует list_customers.php. «Редактировать» соответствует edit_customer.php.
(B) Другая вещь, которая может произойти, состоит в том, что логика для этой опции находится на «обобщенной» странице скрипта. Под этим я подразумеваю, что несколько вариантов логики сгруппированы на одной странице. Примером этого является «Удалить». Прежде чем можно будет удалить клиента, заказ на работу или предложение, он направляется на страницу сценария php с именем auth.php, чтобы убедиться, что только администратор может удалить. Логика для проверки, является ли администратор входом И для удаления клиента, заказа на работу или предложения, также находится в auth.php. Другим примером является опция «Поиск» для Клиента. Несмотря на то, что у него есть своя страница search_customer.php, логика реального поиска на самом деле находится в list_customers.php. Этот шаблон следует для всех поисков, включая поиск клиентов, для предложений или отчетов о доставке; код поиска фактически находится в соответствующем списке _ *. php page.
Мне трудно найти шаблон дизайна, который не сделает его более сложным. Большинство из тех, что я нахожу, ориентированы на ОО-парадигмы, и этот инвентарь, конечно же, нет. Фабричный шаблон, безусловно, не поможет, поскольку единственный полезный способ, которым я его нашел, - это если логин (имя пользователя и пароль) меняется на что-то вроде (имя пользователя, пароль, идентификатор нет.). Однако я подумал, что это будет бесполезно, поскольку только 2 php-страницы имеют функцию входа в систему.
Я также посмотрел, можно ли превратить всю логику поиска в один объект. Но тогда у каждого типа поиска должен быть свой метод (поскольку они запрашивают таблицы сравнения), и он не будет сильно отличаться от текущей настройки (каждый поиск в настоящее время находится на соответствующей странице php списка.)
Единственное, что я обнаружил, что может быть полезным - это шаблон дизайна для регулярных выражений. Формы в программе не проверены. У вас есть идеи?
Кроме того, тема класса - Качество программного обеспечения. Мое личное мнение таково, что дизайн шаблона сделает этот сайт более сложным, так как это не такой большой проект. Но мои одноклассники утверждают, что, поскольку это не OO, это не так легко обслуживаемо. Но я думал, что PHP сделан не как OO, я прав? Поэтому принуждение его к соответствию шаблону проектирования ОО просто испортит ситуацию.
Что ты думаешь? Какие-либо шаблоны проектирования, которые могут быть применимы к этой ситуации?