Существует interface Algorithm
Существует class MathAlgorythm implements Algorithm
(returns MathResult, which implements Result
)
Существует class ChemitryAlgorythm implements Algorithm
(returns ChemitryResult, which implements Result
)
Кроме того, существует Context class
, который используется для передачи данных в эти алгоритмы.Данные передаются следующим образом:
public Result executeStrategy(Data data) {
return algo.execute(data);
}
Предположим, я, executeStrategy и получаю обратно return MathAlgorithm.execute(data);
Я получаю что-то типа Результат правильно?
Затем я выполняю return ChemitryAlgorithm.execute(data);
Снова я получаючто-то Результат
Вопрос: Результатом является интерфейс.Мне нужно получить доступ к конкретной реализации класса как MathResult или ChemistryResult.Другими словами.Как только я получу что-то типа Result, мне нужно копать глубже и знать, какой класс скрывается за интерфейсом
Надеюсь, этот случай не слишком запутан.
Спасибо, что прочитали и ответили