设计一个方法/类来支持具有可变数量参数的可配置数量的查询

时间:2012-04-16 12:01:48

标签: design-patterns variadic-functions

我必须触发一组查询(比如N,这是在运行时从DB决定的)。

每个查询Qi,都会有一些变量(比如V1,V2 ... Vj)。输入将以密钥,值对的形式提供。

这些查询的结果将是我必须返回的键值对。

实施例。

select * from t where a="ME"; 

PS:这只是一个例子。我没有解雇数据库查询。

我打算将查询作为字符串参数传递给变量的一些占位符,并为KEY-VALUE对传递一个映射,用于替换(KEY名称将用于标识占位符)。

上面的输入查询

String query = select * from VRIABLE_FROM_TABLE where a=VARIABLE_WHERE_1; 

查询字符串也将从DB中获取。

输入地图将是:

FROM_TABLE->t
WHERE_1->"ME"

我错过了什么吗?任何面向对象的问题?

设计这个的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以尝试实现Command Pattern:为命令定义一个公共接口,并让命令执行者负责调用命令。

这样,您可以拥有任意数量的命令,因为命令执行程序可以接收实现Command接口的类的集合;此外,执行程序与命令的内容分离,可以使用所需数量的参数单独实例化。