Une application sur laquelle je travaille ne fait qu'une chose, en regardant du monde extérieur. Prend un fichier en entrée et après ~ 5 minutes crache un autre fichier. Ce qui se passe à l'intérieur est en réalité une série d'actions séquentielles. L'application est, à notre avis, bien structurée car chaque action est comme une petite boîte, sans trop de dépendances.Comment décomposer de grandes classes 'macro'?
Habituellement, certaines actions ultérieures utilisent certaines informations de la précédente et seulement quelques-unes peuvent être exécutées en parallèle - par souci de simplicité, nous préférons l'exécution séquentielle.
Maintenant, le problème est que la fonction qui exécute toutes ces actions est comme un fichier batch: une longue liste d'appels à différentes fonctions avec des arguments différents. Ainsi, en regardant dans le code, il ressemble à:
main
{
try
{
result1 = Action1(inputFile);
result2 = Action2(inputFile);
result3 = Action3(result2.value);
result4 = Action4(result1.value, inputFile);
... //You get the idea. There is no pattern passed paramteres
resultN = ActionN(parameters);
write output
}
catch
{
something went wrong, display the error
}
}
Comment qualifieriez-vous le modèle de la fonction principale de cette application est donc non seulement une longue liste de commandes?