Используя Java, у меня есть набор исходных данных целых чисел, он большой, но не огромный - допустим, он не получит больше 30 000 значений.Вычисление зависимых значений в Java
Использование исходного набора данных У меня есть некоторые суммарные значения, которые я хочу создать (они специфичны для домена, а не то, что вы найдете в библиотеке, такой как Apache Math).
Существует взаимосвязь между значениями суммарных так:
[source data] -> summary1 -> summary2 -> summary3
\ ^
\____________________|
Я не хочу более-инженер решение, но я ожидать в будущем, что может быть дополнительные итоговые значения, которые будут строить на этом графике. В настоящее время мое решение предполагает наличие объекта домена, который имеет «getter» для каждой сводки и просто проверяет, был ли он уже вычислен, и вычисляет - сохраняет его, если это необходимо. Это отлично работает, но мне не нравится иметь всю эту вычислительную логику в моем доменном объекте.
Мне кажется, что это может быть представлено скорее как калькулятор с ключом>, где результаты хранятся на карте, а калькуляторы знают, какие «ключи» им нужны. Прежде чем я уйду и реализую что-то подобное, очень сложно представить, что кто-то еще этого не сделал (тысячу раз).
Может ли кто-нибудь посоветовать мне по идиомам или библиотекам, на которые стоит обратить внимание на такое проблемное пространство? Я знаком с такими вещами, как JGraph, но я не верю, что это позволит мне связать калькулятор на узле, он просто предоставит графическую модель. Возможно, это больше проблема для библиотеки кеширования?
Я не совсем понимаю проблему, с которой вы сталкиваетесь, однако последняя версия Guava реализовала тип Graph, который я рекомендую изучить. –
Спасибо, но я бы поместил график Guava в той же категории, что и JGraph, - он предоставляет структуру данных графа, а не кеширование/оценку графика, который мне нужен. – Scruffers