クラスでは、次のスイッチケースがあります。
switch(articleStep.getDeveloper()) {
case CENTRAL:
switch(articleStep.getArticleType()) {
case POSM:
//some code
break;
case PROMOTION_PACK:
//some code
break;
}
break;
case LOCAL:
//some code
break;
}
複数の方法で。内部操作のみが異なります ( //some code
)。
switch-case を 1 つのメソッドにのみ配置できる別の方法はありますか?操作をパラメーターとして渡すことでそのメソッドを呼び出し、同じ仕事をしますか?
使い方-1
switch(articleStep.getDeveloper()) {
case CENTRAL:
switch(articleStep.getArticleType()) {
case POSM:
centralPOSMArticle = new AddManageArticleInDTO<ManageCentralPOSMArticleInDTO>();
centralPOSMArticle.setManageArticle(new ManageCentralPOSMArticleInDTO());
setMandetoryParameterToAddManageArticleInDTO(centralPOSMArticle);
break;
case PROMOTION_PACK:
centralPromotionPackArticle = new AddManageArticleInDTO<ManageCentralPromotionPackArticleInDTO>();
centralPromotionPackArticle.setManageArticle(new ManageCentralPromotionPackArticleInDTO());
setMandetoryParameterToAddManageArticleInDTO(centralPromotionPackArticle);
break;
}
break;
case LOCAL:
break;
}
使い方-2
switch(articleStep.getDeveloper()) {
case CENTRAL:
switch(articleStep.getArticleType()) {
case POSM:
genericDTO = centralPOSMArticle.getManageArticle();
break;
case PROMOTION_PACK:
genericDTO = centralPromotionPackArticle.getManageArticle();
break;
}
break;
case LOCAL:
break;
}
このタイプのスイッチケースを使った箇所は全部で7箇所あります。