interface ICommand {
execute();
}
Command1 implements ICommand {
execute() {
//command1 job
};
}
Command2 implements ICommand {
execute() {
//command2 job
};
}
//далее делаешь комманд фактори, который будет возвращать по интерфейсу ICommand и //вызывать у них execute
//в самой CommandFactory можешь использовать CommandRegistry, в которой будут
//храниться все существующие команды и оттуда просто
//CommandRegistry.get(commandName). В registry можешь в Map<String, ICommand> хранить
CommandFactory.get(commandName).execute()
Вот тебе псевдо код, как-то так можешь сделать. Если вопросы остались, пиши