Bonjour à tous,
Je me demande comment modéliser correctement:
- visiteur
- membre
- administrateur
A savoir que
- un visiteur peut jouer sans se connecter
- un membre peut jouer, se connecter et voter ou ajouter des "éléments" (s'il est connecté)
- un administrateur peut valider et supprimer des "éléments"
Première chose: est-ce que administrateur hérite de membre qui lui hérite de joueur?
Les "éléments" peuvent être des histoires ou catégories
Un catégorie peut contenir plusieurs histoires.
Utiliseriez vous le dp strategy sur une Personne abstraite qui possède en donnée membre les différentes interfaces sur ce qui peut faire sur les éléments.
Un peu comme cela est montré dans ce tutoriel UML.
Mes interfaces serait suivant le format
- NomInterface : méthodes
- Nom des classes concrète
- IVote : vote(Catégorie), vote(Histoire)
- PeutVoter
- PeutPasVoter
- IValide : valide(Catégorie), valide(Histoire)
- PeutValider
- PeutPasValider
- IAjoute : ajoute(Catégorie), ajoute(Histoire)
- PeutAjouter
- PeutPasAjouter
(Ce ne serait pas les noms que je mettrais, mais cela est plus parlant ici.)
De cette façon si on me demande d'ajouter une classe modérateur, je ne toucherais pas au reste de l'architecture.
Maintenant si on me demande de rajouter une fonctionnalité du style voter pour une image La cela deviendrait un peu plus complexe, puisqu'il faudrait revoir le reste de l'architecture en ajoutant ceci dans les interfaces et donc dans les implémentations. J'avais pensé au DP Visitor, mais cela ne résout pas réellement le problème puisqu'il faut que toute la hiérarchie (joueur, membre, administrateur) soit définie.
Pourriez-vous me conseiller la dessus? serais-je parti dans une mauvaise direction? Quel conseil me donneriez-vous? S'il y a un autre design pattern capable de résoudre ce problème? Je ne les connais pas tous, et je trouve certains incompréhensible.
Merci d'avance à la communauté.
Partager