我想要一些关于重构以下方法的建议:
public boolean makeDecision(String group, int level, int primaryAmount, int secondaryAmount)
{
if (group.equals("A"))
{
switch (level)
{
case 0 : return primaryAmount > 10000;break;
case 1 : return primaryAmount > 20000;break;
default : return secondaryAmount > 30000; break;
}
}
else if (group.equals("B"))
{
switch (level)
{
case 0 : return primaryAmount > 40000;break;
case 1 : return primaryAmount > 50000;break;
default : return secondaryAmount > 60000; break;
}
}
else if (group.equals("C"))
{
switch(level)
{
case 0 : return primaryAmount > 70000;break;
case 1 : return primaryAmount > 80000;break;
default : return secondaryAmount > 90000; break;
}
}
return false;
}
我想达到的目标:
- 允许代码遵循开放/封闭原则,因为及时会有更多的组/级别。
- 删除“级别”开关语句中的重复项。
- 理想情况下删除“组”顶级 switch 语句。