Je travaille assez souvent avec ASP.NET MVC (et d'autres implémentations MVC basées sur le Web), mais c'est quelque chose dont je n'ai jamais été sûr: le contrôleur et la vue devraient-ils communiquer?
Bien sûr, le contrôleur devrait choisir la vue à utiliser, mais qu'est-ce que je veux dire, le contrôleur devrait-il transmettre des données à la vue? À mon avis, si la vue attend des données du contrôleur, elles sont effectivement liées ensemble en tant que paire (contrôleur, vue). Au lieu de cela, la vue communique généralement avec le modèle lui-même et est indépendante de tout contrôleur.
Ai-je la bonne approche, ou s'agit-il d'un cas où il n'y a pas une seule bonne réponse? La réponse change-t-elle lorsque vous travaillez sur le Web par rapport à d'autres environnements? La réponse change-t-elle lorsque vous avez le concept d'une vue fortement typée (comme dans ASP.NET MVC) ou non?