寻找课堂创作的模式&基于输入参数的配置

时间:2013-09-08 18:20:06

标签: java design-patterns command-pattern

我需要根据收到的参数值创建一个复杂的配置对象。

我的输入是2个简单变量和一个配置对象。 2个变量和配置对象内部的组合将决定输出类的配置(总是相同的类型)

使用简单的if-else执行此操作,它看起来像这样:

if (a == 1 && b == 1) {
//do some testing on the input object, configure and return the output object
else if (a == 2 && b == 1) {
//do some different testing on the input, configure and return the output.
}

然后。

大约有5个不同的值,& b可以保持并取决于&的值。 b,我将不得不在输入对象中测试不同的东西。

我不确定解决这个问题的最佳方法。 我的第一个想法是使用类似的方法{<1}}。

Command Pattern

并存储我的潜力a&amp; b public interface Command { public OutputConfig execute(InputConfig config); } 中的组合用于查找。

我觉得我正在寻找一些Factory / Command / Builder模式,但不确定实现它的最佳方法。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为你需要Strategy Pattern。您可以使用方法定义接口:

interface Configure{

public YourObject excecute(YourObject o);

}

您可以通过各种方式实现界面,并将其声明为成员字段。然后根据变量的值实例化相应的类。

如果您想保存对象,那么您也可以使用Command Pattern

更新: Ok在软件工程中通常没有绝对的事实。

使用Command Pattern你已经有了一个执行某些任务的类,并且你想将它们保存为派生自接口的类中的对象,以便以后使用它们等等。我不认为你的情况需要这样的方法,因为您只需要将各种功能定义为接口方法。因此,Strategy Pattern是一种更优雅的方法。