首页 > 解决方案 > 在 Groovy 中重构 Switch

问题描述

我有这个方法:

void schedule(){
switch (schedule.getType()) {
                case MANUAL:
                    scheduleManual();
                    break;
                case AUTO:
                    scheduleAuto();
                    break;
                case NONE:
                    scheduleNone();
                    break;
                default:
                    break;
            }
}

我想知道是否有更好的设计来代替开关。

标签: groovyswitch-statementrefactoring

解决方案


void schedule(){
    def method = 'schedule' + schedule.getType().toString().toLowerCase().capitalize()
    this."$method"()
}

推荐阅读