【发布时间】:2018-06-04 20:39:18
【问题描述】:
在下面的代码中,我编写了为每个条件执行 switch-case 语句。 现在我正在考虑删除 switch-case 语句并应用一些设计模式来克服这个问题。 // 主迭代 - 对于每个工作表 for (Entry>> entry : testCaseSheetsDataMap.entrySet()) {
String sheetNameKey = entry.getKey().trim();
String testCaseName = testCaseSheetMasterMap.get(sheetNameKey).trim();
List<Map<String, Object>> executableRowsList = new ArrayList<Map<String, Object>>();
executableRowsList = entry.getValue();
CitiMainAuxiliary auxiliary = new CitiMainAuxiliary();
switch (testCaseName) {
case "Anonymous Mode Log In":
auxiliary.runAllLogin(executableRowsList, testCaseName, Constants.ANONYMOUS);
break;
case "Login Mode":
auxiliary.runAllLogin(executableRowsList, testCaseName, Constants.LOGIN);
break;
case "Cookied Mode Login":
auxiliary.runAllLogin(executableRowsList, testCaseName, Constants.COOKIED);
break;
case "OBO Mode Login":
auxiliary.runAllLogin(executableRowsList, testCaseName, Constants.OBO);
break;
case "Anonymous Mode Megamenu":
auxiliary.runMegaMenu(executableRowsList, testCaseName, Constants.ANONYMOUS);
break;
case "Login Mode Megamenu":
auxiliary.runMegaMenu(executableRowsList, testCaseName, Constants.LOGIN);
break;
case "Cookied Mode Logon - Megamenu Check":
auxiliary.runMegaMenu(executableRowsList, testCaseName, Constants.COOKIED);
break;
case "OBO Logon - Megamenu Check":
auxiliary.runMegaMenu(executableRowsList, testCaseName, Constants.OBO);
break;
}
} // end-for testCaseSheetsDataMap
【问题讨论】:
-
您正在寻找 Replace Conditional with Polymorphism。
-
为什么要替换
switch?你有什么问题? -
我正在从 Excel 读取数据,有时我的 case 语句在 Excel 中被修改,我的 switch case 将无法工作。因为那个想换
标签: java switch-statement