У меня сложный алгоритм. Это использует много переменных, вычисляет вспомогательные массивы при инициализации, а также вычисляет массивы на этом пути. Поскольку алгоритм является сложным, я разбиваю его на несколько функций.
Теперь я действительно не вижу, как это может быть класс от идиоматического пути; Я имею в виду, я просто использовал алгоритмы как функции. Это будет просто:
Calculation calc(/* several parameters */);
calc.calculate();
// get the heterogenous results via getters
С другой стороны, включение этого в класс имеет следующие преимущества:
- Мне не нужно передавать все переменные другим функциям/методам.
- массивы, инициализированные в начале алгоритма, доступны по всему классу в каждой функции
- мой код короче и (imo) clearer
Гибридным способом было бы поместить класс алгоритма в исходный файл и получить доступ к нему через функцию, которая его использует. Пользователь алгоритма не увидит класс.
Есть ли у кого-нибудь ценные мысли, которые могут помочь мне?
Спасибо вам заблаговременно!