1

我想问你关于在这种情况下使用哪种设计模式的建议。我有服务器可以接受带有参数的请求。
在服务器中,我将获得这些参数,根据它们,我需要调用不同的 API(内部 API)。
例如 :

i got parameters 
x=3,y=0,z=9

i need to invoke API's
if(x>3 && y>0)
{
invoke inner api 1
invoke inner api 2
invoke inner api 3
write_to_log()
if(failed)
  invoke inner api 9 

}
else if(x==3)
{
invoke inner api 5
invoke inner api 6
invoke inner api 7
write_to_log()
 if(failed)
  invoke inner api 9 
}
else if(z<9 && x <3)
{
invoke inner api 6
invoke inner api 1
write_to_log()
if(failed)
  invoke inner api 9 
}
..
..
..

依此类推,如果其他情况,我有10个很长的条件。我如何将它封装到设计模式中,以便将来有另一种情况时,它很容易添加和维护

4

1 回答 1

1

您可以尝试使用“命令”和“宏命令模式”的“责任链”模式。

http://en.wikipedia.org/wiki/Chain-of-responsibility_pattern

链将根据封装在责任中的条件决定调用哪个服务。如果责任人不能处理请求,那么它将把请求传递给另一个责任人。如果没有任何责任人可以处理该请求,那么您可以抛出错误。您可以使用命令模式使责任调用宏命令。

于 2013-04-28T09:47:19.047 回答