【发布时间】:2012-02-28 22:24:18
【问题描述】:
在我的公司中,几乎每个项目都有搜索面板和自定义过滤器。项目过滤器过多,创建困难。
有没有什么好的设计模式来创建自定义 sql 查询以使用过滤器?
我总是这样写:
commandText = "SELECT * FROM XXX "
innerJoinCommand = ""
whereCommand = ""
if (??.length > 0)
whereCommand += "AND ??? "
if (??.Count > 0)
innerJoinCommand += "??? "
//...
if (innerJoinCommand.length > 0)
commandText += innerJoinCommand
if (whereCommand.length > 0)
commandText += "WHERE " + whereCommand
【问题讨论】:
-
“设计模式”?你继续使用这个词。我不认为这意味着你认为它意味着什么。 :D 对不起,不得不。
-
那么你更喜欢什么而不是“设计模式”?
-
我在开玩笑。在面向对象的世界中,术语“设计模式”已经演变成某种东西,有点讽刺的是,它适合编码原型的一个子集。大模式并没有真正涵盖数据库交互,这就是我这么说的原因。
-
设计模式并不局限于面向对象的世界。任何域都可以拥有它。
标签: sql tsql design-patterns database-design