Trabajo con ASP.NET MVC (y otras implementaciones de MVC basadas en web) con bastante frecuencia, pero esto es algo de lo que nunca he estado seguro: ¿deberían comunicarse el controlador y la vista?
Por supuesto, el controlador debe elegir qué vista usar, pero ¿a qué me refiero debe pasar el controlador a la vista? En mi opinión, si la vista espera datos del controlador, entonces están efectivamente unidos como un par (controlador, vista). En cambio, normalmente tengo la vista comunicarse con el modelo en sí y ser independiente de cualquier controlador.
¿Tengo el enfoque correcto, o es este un caso de que no hay una respuesta correcta? ¿La respuesta cambia cuando se trabaja en la web en comparación con otros entornos? ¿La respuesta cambia cuando tienes el concepto de una vista fuertemente tipada (como en ASP.NET MVC) o no?