Bonjour,
comme mon titre l'indique, mon appli gère des fichiers CSV. En gros, elle les lit, les parse, teste la validité du contenu, écrit leur contenu en BDD (si valide), et met en lecture les informations.
Avant d'écrire le contenu en BDD, elle teste le contenu pour vérifier sa validité. Il y a donc 2 accès au contenu du fichier : 1- pour tester la validité et 2- pour écrire en BDD.
Mais problème de conception : au cours du parsage, je vais créer des instances d'objet, que je vais ensuite transmettre aux classes chargées du test de validité et de l'écriture en BDD. Ma question : vaut-il mieux créer une instance par ligne du CSV ou une seule pour le CSV entier ?
Comme le nombre de lignes est variable, je pencherais plutôt par une seule instance pour le fichier entier, mais du coup, l'instance à transmettre va contenir des tableaux (un par type de données contenue dans le CSV) dont le nombre d'éléments sera le nombre de lignes du CSV. Et ces tableaux, il faudra les parcourir 2 fois : 1 fois pour tester la validité et une 2e fois, si c'est valide, pour écrire en BDD. Ca ne me semble pas économique en performance. Y a-t-il une meilleure conception, SVP ?
Partager