2008-08-25 27 views

Répondre

4

de Wikipédia:

Model-view-controller (MVC) est un modèle architectural utilisé en génie logiciel. L'utilisation réussie du motif isole la logique métier des considérations d'interface utilisateur, ce qui entraîne une application dans laquelle il est plus facile de modifier l'aspect visuel de l'application ou les règles métier sous-jacentes sans affecter l'autre. Dans MVC, le modèle représente l'information (les données) de l'application et les règles métier utilisées pour manipuler les données; la vue correspond à des éléments de l'interface utilisateur tels que du texte, des cases à cocher, etc. et le contrôleur gère les détails impliquant la communication au modèle d'actions de l'utilisateur telles que les frappes au clavier et les mouvements de la souris.

Ainsi, modèle - il contient l'application et les règles métier.

4

Je suis complètement d'accord avec Josh. Cependant, vous pouvez créer une sorte de couche de validation entre le contrôleur et le modèle afin que la plupart des validations syntaxiques puissent être effectuées sur les données avant qu'elles ne soient modélisées.

Par exemple,

La couche de validation validerait le format de date, format montant, les champs obligatoires, etc ...

Alors que le modèle se concentrer uniquement sur les validations d'affaires comme le montant de x doit être supérieur à y montant.

0

Mon expérience avec MVC consiste jusqu'à présent entièrement en rails.

Rails fait c'est la validation 100% dans le modèle.
Pour la plupart, cela fonctionne très bien. Je dirais 9 fois sur 10 c'est tout ce dont vous avez besoin.

Toutefois, il existe des zones dans lesquelles ce que vous soumettez à partir d'un formulaire ne correspond pas correctement à votre modèle. Il peut y avoir un filtrage/réarrangement supplémentaire, etc.

La meilleure façon de résoudre ces situations que j'ai trouvé est de créer des objets de faux-modèle, qui agissent essentiellement comme des objets Modèle mais mappent 1-à-1 avec les données de formulaire. Ces objets faux-modèles ne sauvegardent rien, ils ne sont qu'un seau pour les données avec des validations attachées.
Un exemple d'une telle chose (dans des rails) est ActiveForm

Une fois les données pénètre dans les (et est valide) il est généralement une étape assez simple de transférer directement sur vos modèles réels.

0

La vérification de syntaxe de base doit être dans le contrôle car elle traduit l'entrée de l'utilisateur pour le modèle. Le modèle doit effectuer la validation des données réelles.