2011-06-01 3 views
10

Après avoir lu de nombreuses sources différentes, je suis très confus sur la façon dont View et Model doivent communiquer dans le pattern MVC. À ma compréhension, les accepted answer of this post et this article from Apple disent que la communication des deux devrait être faite par le contrôleur. Alors que le MVC page in Wikipedia, le ASP.NET MVC page et le this article in MSDN montrent qu'il existe une association directe entre View et Model. Donc, selon the answer in here, ce que l'article d'Apple fait référence est en fait MVP pas MVC alors? Merci pour toute aide !!Communication entre la vue et le modèle dans MVC

+1

La vue et le modèle ne peuvent interagir sans un contrôleur. La vue peut être fortement typée en un type de modèle, mais le contrôleur doit s'asseoir au milieu. –

+0

Dans l'architecture MVC, le contrôleur envoie des informations à la vue. – mdaguerre

+1

Je pense que cela peut être une confusion résultant de la mise en correspondance des bases de données avec des objets, et la vue utilisant ces objets pour obtenir des données. D'une certaine façon, vous "accédez au modèle", mais vous n'exécutez pas les requêtes SQL, etc. pour obtenir les données. C'est le genre de manque de séparation mal vu dans MVC. –

Répondre

2

Il y a plus d'une réponse. Finalement, vous pouvez faire ce que vous voulez selon vos besoins. J'utilise un contrôleur + ViewModels pour me connecter à la vue. La vue n'utilisent jamais le modèle. juste ce que le contrôleur lui donne.

Il y a une bonne explication de tous les modèles dans le livre de Steven Sandarson, (variation sur MVC).

Questions connexes