Итак, я получаю строку из twitch irc и на основании этой команды выполняю некоторый код.Вопрос в том, могу ли я упростить свой код или использовать шаблон.Дело в том, что большинство команд имеют одинаковый код, и меняется только ответ.Вы можете увидеть код ниже.Это выглядит очень грязно, и добавление новых команд или функций, вероятно, будет проблемой (если у меня есть 200 или более команд), плюс большая часть кода такая же.
public void onCommand(User user, Channel channel, String command)
{
// some if statements
switch (command.toLowerCase()){
case "hi":{
//some simple action
}
case "fire":{
vote(60, channel, "fire")
}
...
//timeout
}
void vote(int duration, final Channel channel, String voteFor){
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
//start voting
}, duration);
switch (voteFor){
case "fire":{
if (voteYes > voteNo) {
//some action
}else
//some action
break;
}
...
}
PS Я пытался использовать шаблон стратегии, ноказалось, что в этом нет необходимости.