Nach meiner Erfahrung hängt das Modell im Allgemeinen nur von einer Ansicht ab, nicht von einer bestimmten, oft als Beobachter ... wenn es überhaupt eine solche Kopplung aufweist.
Die Ansicht ist in der Regel mit dem verbunden, was gerade angezeigt wird, was Sinn macht. Es ist schwer, eine Ansicht zu finden, die von der Ansicht abgekoppelt werden kann ... aber manchmal kann es zu einer partiellen Kopplung kommen.
Der Controller neigt häufig dazu, mit beiden zu koppeln. Dies ist auch sinnvoll, da es die Aufgabe ist, Ansichtsereignisse in Modelländerungen umzuwandeln.
Natürlich ist dies nur eine Tendenz, die ich beobachtet habe und zu keinem konkreten Beispiel wirklich etwas aussagt.
Um zu verstehen, was MVC ist und wie die Kopplungsbeziehung aussehen könnte, sollten Sie untersuchen, wie MVC entstanden ist. In der Umgebung, in der MVC erstellt wurde, gab es keine "Widgets" als Formularelemente, mit denen Sie Dialoge erstellen können. Eine "Ansicht" war eine Schachtel und es zeichnete Sachen. Eine Textansicht wäre ein Feld, das Text zeichnet. Eine Listenansicht war eine Box, die eine Liste zeichnen würde. Der "Controller" hat alle Maus- und Tastaturereignisse vom UI-System empfangen, die in dieser Ansicht stattgefunden haben. Es gab keine "textChanged" - oder "selectionChanged" -Ereignisse. Der Controller würde all diese Low-Level-Ereignisse aufnehmen und eine Interaktion mit dem Modell erzeugen. Das Modell würde, wenn es geändert wird, seine Ansichten mitteilen; wir sind seitdem gekommen, um diese Beziehung als "Beobachter" zu sehen und es '
DAS ist die Essenz des MVC-Musters. Da diese Art der UI-Programmierung auf niedriger Ebene im Allgemeinen nicht mehr durchgeführt wird, hat sich die MVC in viele verschiedene Richtungen entwickelt. Manche Dinge, die heute so heißen, sind kaum etwas wie die MVC und sollten eigentlich etwas anderes heißen. Es kann dennoch im Sinne eines Dialogs als Ganzes verwendet werden, der mit einem größeren Objekt interagiert. Es gibt jedoch viele bessere Alternativen.
Grundsätzlich geschieht alles, was die MVC lösen sollte, jetzt in Widgets und wir müssen es nicht mehr verwenden.
Für diejenigen, die glauben, es besser zu wissen:
http://www.codeproject.com/Articles/42830/Model-View-Controller-Model-View-Presenter-and-Mod
http://msdn.microsoft.com/en-us/library/ff649643.aspx
Ich bin mir sicher, dass es noch mehr gibt, aber diese stehen bei Google nur ganz oben auf der Liste. Wie Sie sehen, hängt das Modell in vielen Implementierungen stark von einer Ansichtsschnittstelle ab. Im Allgemeinen ist ein Modell beobachtbar und die Ansicht ist ein Beobachter.
Aber warum sollten Fakten im Weg stehen ...
Ein Artikel, der bereits in einer anderen Antwort veröffentlicht wurde, unterstützt auch meine Aussagen:
http://martinfowler.com/eaaDev/uiArchs.html
Wenn die Leute weiterhin sagen wollen, dass JEDER in der Designbranche Unrecht hat, dann ist das in Ordnung.