Jeder möchte es mit Klebstoff oder Muskeln oder etwas anderem vergleichen, aber es ist irgendwie schlecht für all diese, weil es ein Übersetzer zwischen dem Modell und der Ansicht ist. Muskel dient nicht als Eingabefunktion, nur Ausgabe, Nerven und Sinne liefern den Input in dieser Analogie. Kleber haftet nur zwei Dinge zusammen, es ändert sie nicht.
Die Controller-Schicht in MVC ist dafür verantwortlich, Daten aus dem Modell herauszunehmen und sie in eine Form zu übersetzen, die für den Betrachter bereit ist, sie anzuzeigen. Ein perfektes Beispiel dafür sind drei verschiedene Seiten, die alle Daten in der gleichen (oder sehr ähnlichen) Form darstellen, aber die angezeigten Daten stammen aus sehr unterschiedlichen Quellen. In jedem dieser Fälle wird möglicherweise derselbe Ansichtscode verwendet. Der Controller ist jedoch derjenige, der verschiedene Funktionen im Modell aufrufen kann, um die Daten anzuzeigen und in den richtigen Sammlungsnamen zu übernehmen, damit die Ansicht gefunden und angezeigt werden kann es, , obwohl die Ansicht tatsächlich unwissend ist, was es anzeigt.
Aber das ist nicht die einzige Aufgabe für die Controller-Schicht, da sie auch die Übersetzung der Benutzeranforderungen in Aktionen auf dem Modell durchführen muss. Der Benutzer hat auf einen Link geklickt oder etwas in ein Feld eingegeben oder einen Schieberegler verschoben, was zu einer oder mehreren Aktionen im Modell führen kann. Es sollte keine wirkliche Geschäftslogik sein, Entscheidungen zu treffen, aber wenn Sie zum Beispiel eine Checkbox hatten, die sagte "Mach das dreimal", aber das Modell hatte nur eine Funktion, einmal etwas zu tun, wäre der Controller dafür verantwortlich, die Funktion des Modells drei zu nennen Mal um die Aktion auszuführen.
Wenn Sie eine Analogie haben müssen, würde ich Michaels Antwort von "Gehirne" verwenden.
Ich denke, das ist eine schlechte Metapher. Das Modell sollte die erforderlichen Aufgaben ausführen. Der Controller ähnelt mehr einem Skelett IMHO. –