我该怎么询问您在这种情况下使用哪种设计模式的建议。
我有服务器接受带参数的请求
在服务器中我会得到那些参数,根据它们我需要调用不同的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个条件很长的时间。 我怎样才能将它封装到设计模式中,所以在未来我将有另一个条件 它很容易添加和维护
答案 0 :(得分:1)
您可以使用“命令”和“宏命令模式”尝试“责任链”模式。
http://en.wikipedia.org/wiki/Chain-of-responsibility_pattern
链将根据负责人中包含的条件决定调用哪个服务。如果责任人无法处理请求,那么它会将请求传递给另一个责任人。如果没有任何责任可以处理请求,那么您可以抛出错误。您可以使用命令模式调用响应函数调用宏命令。