Często korzystam z ASP.NET MVC (i innych implementacji MVC opartych na sieci), ale nigdy nie byłem tego pewien: czy kontroler i widok powinny się komunikować?
Oczywiście administrator powinien wybrać, którego widoku użyć, ale o co mi chodzi, czy powinien przekazywać dane do tego widoku? Moim zdaniem, jeśli widok oczekuje danych od kontrolera, to są one skutecznie powiązane ze sobą jako para (kontroler, widok). Zamiast tego zazwyczaj mam widok komunikujący się z samym modelem i niezależny od jakiegokolwiek kontrolera.
Czy mam właściwe podejście, czy jest to przypadek braku jednej poprawnej odpowiedzi? Czy odpowiedź zmienia się podczas pracy w sieci w porównaniu do innych środowisk? Czy odpowiedź zmienia się, gdy masz pojęcie silnie typowanego widoku (jak w ASP.NET MVC), czy nie?