J'ai une grande séquence de cartes de données et chaque carte doit être classée de manière imbriquée.
C'est-à-dire qu'un élément donné peut être un A ou un B (déterminé par une fonction), s'il est un B, il peut être un C ou un D (déterminé par une autre fonction) et ainsi de suite. À chaque étape, des données supplémentaires relatives à la classification peuvent être ajoutées à chaque carte. Les fonctions permettant d'effectuer la classification sont elles-mêmes assez complexes et peuvent nécessiter l'apport de données supplémentaires pour effectuer les déterminations.
Une multiméthode autorécursive serait-elle un bon moyen de structurer le code pour ce faire ? J'enverrais un message au type le plus spécifique déterminé jusqu'à présent pour un élément, ou je renverrais la meilleure classification actuelle lorsque rien d'autre ne peut être fait.
I pourrait obtenir l'effet désiré avec des ifs imbriqués à l'intérieur d'une seule fonction de classification, mais c'est vraiment moche.
Est-ce qu'une multiméthode convient ici ou est-ce que je complique trop les choses et que je ne vois pas une façon plus simple de structurer le code ?