重构:双键和通用方法

时间:2013-03-05 16:58:53

标签: java design-patterns refactoring

我有一些用于构建Hibernate搜索模型的通用方法。

基本上它需要2个键和几个输入。 key1!= key2

实施例

public SearchModel getSearchModelA(String key1, String key2, List<String>)...

public SearchModel getSearchModelB(String key1, String key2, String input)...

我可以知道如何重构这个类,因为

1)客户端总是需要提供2个密钥(最好的方法是将它们结合起来吗?

来电者的例子

Helper.getSearchModelB(CONSTANTS.getKeyABC, CONSTANTS.getKeyABC,abc)

,钥匙可能很长。

2)课程变得太大了,我喜欢让我的课程保持在1000行以下

我已经提供了一个静态类,其中包含所有帮助方法来创建SearchModel,但调用者是一个Facade并且​​很乱。

1 个答案:

答案 0 :(得分:1)

您可以使用varargs

,而不是使用List作为最终参数
public SearchModel getSearchModelA(String key1, String key2, String... input)

这将接受单字符串参数(但将其置于单元素数组中)或多字符串参数(表示为String数组而不是List数组)。