Я создал оболочку (например, командную подсказку). Я беру ввод пользователя и сравниваю строку в том случае, если условие выполнено, когда была введена какая-либо команда. В связи с этим в моем java-коде есть много утверждений if, что не является идеальным. Я ищу лучший способ реализовать эту часть кода. Можно ли сохранить все мои команды, а затем выполнить итерацию по массиву, чтобы увидеть, какие команды необходимо выполнить? Любые хорошие предложения?Дизайн шаблона команды
if (cmd[0].equals("pwd")) {`
command = new Pwd();
invoker = new Invoker(command);
invoker.action();
}
else if (cmd[0].equals("ls")) {
command = new Ls();
invoker = new Invoker(command);
invoker.action(); //this executes the command
}
... так далее
Используйте «Карта», Люк. Или оператор 'switch', но Maps допускают более динамическое поведение, например. возможность расширения списка команд. – Andreas
[Command pattern] (https://en.wikipedia.org/wiki/Command_pattern#Java) –
Спасибо за ссылку. Действительно полезно! –