2

如果我有一个可以接受大量参数的 url,然后我想动态混合和匹配以创建 sql 查询以返回结果......

我可以考虑使用哪些设计模式从参数创建过滤器?

例子:

mySite.com?name=tom&color=red&size=large&etc

所需的 sql 输出 select * from mytable where name = tom and color = red and size = large;

这在小范围内是微不足道的,但是当您有大量来自过滤器面板的变量参数时,其中包括日期和匹配查询字符串等,并且您希望将它们整齐且可维护地组装到 sql 查询中,同时检查和清理数据,事情可能会出错..冗长。我最终编写了大量的 if/else 样式过滤器方法,这有点像维护噩梦。

4

1 回答 1

2

对于这种场景,我喜欢使用装饰器模式,您可以在其中动态构建/混合“成分”。

我认为维基百科确实有一个很好的例子(咖啡制作场景):http ://en.wikipedia.org/wiki/Decorator_pattern

于 2013-07-31T07:45:30.923 回答