什么模式用于许多API的调用

时间:2013-04-28 09:27:12

标签: design-patterns

我该怎么询问您在这种情况下使用哪种设计模式的建议。 我有服务器接受带参数的请求 在服务器中我会得到那些参数,根据它们我需要调用不同的API(内部apis)。
例如:

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个条件很长的时间。 我怎样才能将它封装到设计模式中,所以在未来我将有另一个条件 它很容易添加和维护

1 个答案:

答案 0 :(得分:1)

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

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

链将根据负责人中包含的条件决定调用哪个服务。如果责任人无法处理请求,那么它会将请求传递给另一个责任人。如果没有任何责任可以处理请求,那么您可以抛出错误。您可以使用命令模式调用响应函数调用宏命令。

相关问题