Если у меня есть URL-адрес, который может принимать большое количество параметров, которые я тогда хочу смешивать и сопоставлять «на лету», чтобы создавать SQL-запросы чтобы вернуть результаты ...Какой шаблон проектирования следует использовать для получения параметров запроса и объединения их для создания отфильтрованного SQL-запроса
Какие шаблоны проектирования я мог бы рассмотреть, чтобы создать фильтры из параметров?
пример:
mySite.com?name=tom & цвета = красный & размера = большой & и т.д.
требуемый выход SQL * выбрать из туЬаЫх где имени = Том и цвет = красный и размера = большой;
Это мелочи в малом, но когда у вас есть большой набор переменных параметров, поступающих с панели фильтров, которая включает в себя даты и строки запроса соответствия и т. Д., И вы хотите аккуратно и тщательно собирать их в sql-запросы, все время проверки и очистка данных, все может получить err .. verbose. Я закончил тем, что написал тон методов фильтра стиля if/else, который немного кошмар для обслуживания.
Вы можете уточнить ваш сценарий, пожалуйста? В частности, можете ли вы более подробно указать фильтр создания из части param. Что касается построения запросов, вы можете использовать [Объект запроса] (http://martinfowler.com/eaaCatalog/queryObject.html). – Gordon
Не можете ли вы просто заполнить карту именем и значением параметра? – stan0
Чтобы уточнить ... базу данных sql, состоящую из нескольких таблиц, связанных через внешние ключи. большое количество параметров, переданных через url, большинство из которых являются необязательными. Мне нужно смешивать и сопоставлять эти параметры в sql (включая объединения и т. Д.), Прежде чем, наконец, передать сгенерированный SQL-файл, который будет выполнен, и результаты будут возвращены. @Rex предлагает шаблон декоратора в своем ответе, который выглядит многообещающим, я должен сказать. Я мог бы начать с базового запроса и «украсить» различные условия, извлеченные из URL-адреса, на базовый запрос, возможно ... –