Classe statique ou instanciable ?
Bonjour à tous,
Je dois écrire une fonction qui compare deux répertoires. Ce que je veux, c'est qu'il me retourne les fichiers en surplus du 2ème répertoire.
Je pense donc qu'il serait bon d'écrire une classe DirectoryComparer, qui contiendra une méthode : GetTargetFiles(). Cette méthode me retournera les fichiers en surplus dans le "répertoire cible" (le 2ème répertoire).
Ce sur quoi je me questionne, c'est s'il est mieux d'instancier cette classe ou de la laisser statique, et s'il est mieux d'avoir des données membres ou pas.
Est-ce qu'il est mieux d'instancier ma classe DirectoryComparer, d'affecter ses membres SourceDirectory et TargetDirectory, et ensuite appeler la fonction GetTargetFiles(), qui utilisera les données membres en vue du traitement ?
.. ou ..
Est-il mieux de rendre la classe statique, et d'appeler la fonction GetTargetFiles() en lui passant mes deux répertoires en paramètre ?
Depuis mes lectures sur les design patterns, j'essaie d'éviter les helper classes, et en rendant ma classe DirectoryComparer statique, je crains qu'elle devienne une helper class si je devais lui ajouter une autre méthode (par exemple, GetSourceFiles()) un jour ou l'autre ...
Je veux à tout prix respecter le Single Responsiblity Principle.
Que me conseillez-vous de faire ?
Merci d'avance.