Bonjour à tous,
Ces dernières semaines j'ai beaucoup lu sur les design patterns et ça m'amène à revoir mon code existant.
J'ai écrit récemment un programme pas très gros et une des vocations de ce programme est de comparer un répertoire contre un autre et retourner les fichiers en surplus de ce dernier.
Comme ce n'est pas beaucoup de code, j'ai écrit le code qui retourne la liste des fichiers en surplus dans mon "user control" lui-même (je développe en C# / .NET).
Comme le souligne le Single Responsibility Principle, une classe ne doit avoir qu'une et une seule responsabilité. Je viole donc ce principe puisque la responsabilité de mon "user control" est d'afficher les données. Corrigez-moi si je me trompe ici.
Avant de lire sur les design patterns, j'avais une sérieuse tendance à créer des helper classes, dans laquelle j'ajoute des méthodes de toutes sortes qui sont utiles pour un module en particulier. Je me suis aperçu qu'il est difficile de maintenir un tel code puisqu'à chaque modification d'un élément d'un autre module, je dois changer des trucs dans ces méthodes.
Pour revenir à mon comparateur de répertoires, je crois qu'il serait bien de créer une classe qui soit dédiée à ça (et ainsi respecter le Single Responsibility Principle) mais je ne suis pas certain si avoir une classe DirectoryComparer contenant qu'une seule méthode GetFiles() est logique ? Ça fait une classe assez minimaliste. Est-ce correct ?
J'aimerais savoir si c'est ok de procéder ainsi, ou existe-t-il une meilleure façon de le voir ?
Merci d'avance pour vos suggestions.
Partager