У меня есть несколько классов Java, которые реализуют шаблон стратегии. Каждый класс имеет переменные числовые параметры разных типов:
interface Strategy {
public data execute(data);
}
class StrategyA implements Strategy {
public data execute(data);
}
class StrategyB implements Strategy {
public StrategyB(int paramA, int paramB);
public data execute(data);
}
class StrategyC implements Strategy {
public StrategyC(int paramA, String paramB, double paramC);
public data execute(data);
}
Теперь я хочу, чтобы пользователь мог вводить параметры в каком-то пользовательском интерфейсе. Пользовательский интерфейс следует выбирать во время выполнения, т. е. стратегии не должны от него зависеть. Диалоговое окно параметров не должно быть монолитным, и должна быть возможность заставить его вести себя и выглядеть по-разному для каждой стратегии и пользовательского интерфейса (например, консоли или Swing).
Как бы вы решили эту проблему?