Mutliple if else语句到有意义的数据结构

时间:2015-04-25 08:51:49

标签: java data-structures control-structure

遗留代码( VB脚本)中有很多嵌套if else语句,我希望将其迁移到有意义的表示形式,以便在中轻松维护Java 应用程序。这些语句中的大多数用于根据用户对参数的选择生成sql语句。有没有建议将这个逻辑分支问题更好地建模为数据结构,即指向图形

例如,如果参数是:

年龄 部门 等级

String finalSQL = “”;
if(department is not ‘HR’){
   // append something to finalSQL
if (age between 21-35)
{
  // append something to finalSQL
}
else if (age between 35-40)
{
// append something to finalSQL
}else{
// append something to finalSQL
}
} else {

if(grade > g7){
// append something to finalSQL
}else if (grade is g2 or g4 or g6){
// append something to finalSQL
} else{
// append something to finalSQL
}

}

return finalSQL;

1 个答案:

答案 0 :(得分:-1)

多个if else语句的一个替代方案,其中这些条件表示特定状态,如果它们是简单命令,我通常会选择State Design Patterncommand Pattern

想想自动售货提及哪里取决于机器的状态如空/非空/没有硬币,你有特定的行为

另一种可读的方式是switch-case语句,但这主要是使它更具可读性

请参阅此Converting many 'if else' statements to a cleaner approach