我有这段代码:
if(condition 1) {
if(condition X) {
myMethod(..., paramx, ...);
}
if(condition Y) {
myMethod(..., paramy, ...);
}
}
if(condition 2) {
if(condition A) {
myMethod(..., parama, ...);
}
if(condition B) {
myMethod(..., paramb, ...);
}
}
...
等等。如您所见,我根据条件使用一个不同的参数调用相同的方法。什么是解决这个问题的优雅方式?
谢谢!
答案 0 :(得分:2)
if(condition 1){
if(condition X){
dependentVar = paramx;
}
if(condition Y){
dependentVar = paramy;
}
}
if(condition 2){
if(condition A){
dependentVar = parama;
}
if(condition B){
dependentVar = paramb;
}
}
... 最后:
myMethod(..., dependentVar, ...);
如果没有,这将提高代码的可读性。
显然,这是假设完全(并且最多)满足其中一个条件
答案 1 :(得分:0)
Strategy pattern是您需要使用的。决策将在战略对象中做出,你只需逐个调用它们,直到其中一个回复为止。