У меня есть большая последовательность карт данных, и каждая карта должна быть классифицирована вложенным образом.
то есть данный элемент может быть A или B (определяется функцией), если это B, то он может быть C или D (определяется другой функцией) и так далее вниз. На каждом этапе к каждой карте может быть добавлено больше данных, относящихся к классификации. Функции для выполнения классификации сами по себе довольно сложны, и для принятия решений может потребоваться ввод дополнительных данных.
Будет ли саморекурсивный мультиметод хорошим способом структурировать код для этого? Я бы отправил наиболее конкретный тип, определенный на данный момент для элемента, или вернул бы лучшую текущую классификацию, когда ничего больше нельзя сделать.
Я мог получить желаемый эффект с вложенными ifs внутри одной функции классификации, но, черт возьми, это ужасно.
Подходит ли здесь мультиметод, или я слишком усложняю вещи и пропускаю более простой способ структурирования кода?