Lavoro con ASP.NET MVC (e altre implementazioni MVC basate sul web) abbastanza spesso, ma questo è qualcosa di cui non sono mai stato sicuro: il controller e la vista dovrebbero comunicare?
Ovviamente il controller dovrebbe scegliere quale vista utilizzare, ma cosa intendo dire che il controller dovrebbe passare i dati alla vista? Secondo me, se la vista è in attesa di dati dal controller, allora sono effettivamente legati insieme come coppia (controller, vista). Invece, di solito ho la vista di comunicare con il modello stesso ed essere indipendente da qualsiasi controller.
Ho l'approccio giusto o è un caso in cui non esiste una risposta corretta? La risposta cambia quando si lavora nel Web rispetto ad altri ambienti? La risposta cambia quando si ha il concetto di una vista fortemente tipizzata (come in ASP.NET MVC) o no?