2017-09-12 1 views
1

J'apprends actuellement java ee en suivant le livre "java ee 7 the big picture".java ee Modèle MVC, le modèle et la vue communiquent-ils directement entre eux

Dans le livre, l'auteur avait une image pour illustrer le modèle MVC dans java ee.

enter image description here

Comme vous pouvez le voir, dans la figure, le modèle et la vue communiquent directement entre eux. Mais, d'après ce que je comprends de MVC (j'ai d'abord appris le modèle MVC du développement iOS), ce modèle et cette vue ne devraient jamais communiquer directement entre eux. Toutes les communications entre le modèle et la vue doivent être effectuées par le biais du contrôleur (c'est-à-dire que le contrôleur agit en tant qu'interprète entre le modèle et la vue).

Est-ce que ce diagramme est défectueux? Ou est-ce correct, et j'ai besoin de réajuster ma compréhension du modèle MVC de la façon java ee?

Merci!

+2

Je pense que vous êtes dans le bon chemin. La vue n'interagit pas directement avec le modèle. Si je comprends bien, je pense que le diagramme essaie d'expliquer que le modèle envoie les données à la vue, mais la vue ne peut pas atteindre le modèle sans l'aide du contrôleur. – DMC19

Répondre

2

Le diagramme ne semble pas utile. Dans javaEE, le contrôleur accepterait le formulaire rempli par l'utilisateur, effectuerait la validation, puis transmettrait les données à une couche de service pour effectuer la mise à jour, puis redirigerait vers un contrôleur qui extrairait le nouvel objet mis à jour (le modèle) et l'ajouterait à la requête en tant qu'attribut de requête, renvoyant à un modèle qui génère html. La vue est une sorte de modèle qui sait rechercher le modèle dans les attributs de la demande. Donc, le modèle ne sait rien dire à la vue, typiquement en ce qui concerne la vue, le modèle est un conteneur de données et rien de plus.