В настоящее время у меня есть метод, который действует как factory на основе данной строки. Например:
public Animal createAnimal(String action)
{
if (action.equals("Meow"))
{
return new Cat();
}
else if (action.equals("Woof"))
{
return new Dog();
}
...
etc.
}
То, что я хочу сделать, - это избежать всей проблемы if-else при увеличении списка классов. Я полагаю, мне нужно иметь два метода: один, который регистрирует строки для классов, а другой - возвращает класс, основанный на строке действия.
Какой хороший способ сделать это в Java?