Bonjour,
Je pense que c'est au controller de vérifier la sanité des données.
Le modèle ne devrait pas faire ce genre de vérification.
S'il un objet du modèle existe c'est qu'il est sain, sinon il n'a aucune raison d'exister...
Bonjour,
Je pense que c'est au controller de vérifier la sanité des données.
Le modèle ne devrait pas faire ce genre de vérification.
S'il un objet du modèle existe c'est qu'il est sain, sinon il n'a aucune raison d'exister...
C'est au modèle de vérifier le bien fondé des données et pour cause : les données attendues dépendent précisément du modèle et sont traitées par celui-ci.
Selon MVC, le contrôleur ne fait que transmettre les données au modèle, rien d'autre en ce sens.
Et c'est justifiable :
En poursuivant dans ton raisonnement, si le modèle est utilisé par plusieurs contrôleurs, il faudrait recopier le code vérification des saisies à chaque fois.
La réutilisation est une bonne pratique orienté objet, pas le copier-coller.
Par ailleurs, le développeur tier qui aurait le malheur d'omettre le code en question risquerait de compromettre l'application toute entière...
Bye
le contrôleur ne s'occupe que d'une chose
la logique applicative
il utilise les services du modèle
transmet les données du modèle à la vue et de la vue au modèle
Il filtre au passage les données
mais ce n'est pas lui qui sais si le contenu des données est bon.
c'est le métier qui détiens cette info
en terme de filtre le contrôleur à juste en charge l'adaptation des données à la forme attendue soit par le modèle soit par la vue.
enfin le modèle est aussi utilisable par d'autres éléments que les contrôleurs
comme les webservices par exemple
si tu mets du métier dans le contrôleur il te faudra alors le remettre dans les services
A+JYT
Je me suis mal exprimé, mais quand je parlais de sanité des données je parlais de cette étape de filtrage. (validation de type, etc).en terme de filtre le contrôleur à juste en charge l'adaptation des données à la forme attendue soit par le modèle soit par la vue.
Bien sur que le modèle ne doit accepter que des données valides...(validation d'un point de vue logique applicative).
le modèle se charge de vérifier que le numéro de code du client est conforme à la spécification d'un client
le contrôleur lui enlève des donnée issue de son formulaire les balise HTML ou le code SQL qu'un malotru chercherais à insérer
Le modèle vérifie que la date de rendez-vous demandé par le client est conforme au règles de prise de rendez-vous
le contrôleur lui récupère la chaine de caractère du champs date la dépouille de toutes les intrusion et en fait un élément du type attendu par le modèle. (init string date object etc.)
A+JYT
Partager