Задача такая: используется фабричный метод для определение конктретной реализации, что-то типо такого:
public static BaseCommand get(String cmd) throws CMDException {
if (All.CMD.equalsIgnoreCase(cmd)) return new All();
...
throw new CMDException(String.format("No suitable command for '%s'", cmd));
}
Этот метод начал активно расти, как лучше перепроктировать, не делать же сотню if или гигантский switch?
Есть идея сделать на аннотациях