Diskussion:Model View Controller

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Auf dieser Seite werden Abschnitte ab Überschriftenebene 2 automatisch archiviert, die seit 60 Tagen mit dem Baustein {{Erledigt|1=--~~~~}} versehen sind. Die Archivübersicht befindet sich unter Archiv.

Entwurfsmuster vs. Programmierparadigma[Quelltext bearbeiten]

Also wenn ich das richtig verstehe ist das MVC Paradigma kein Entwurfsmuster sondern vielmehr ein Programmierparadigma, also eine Regel an die man sich immer so weit möglich halten sollte. Das wird allerdings leider sehr oft vermischt und falsch dargestellt. Hcii 10:32, 17. Mär 2006 (CET)

Nein, eine Paradigma ist es nicht, dann schon eher ein Muster. Man kann es auch als Muster auffassen, wenn man es in kleinem Rahmen einsetzt. Ich persöhnlich spreche meistens von Konzept. Die Balzerts (beide) sprechen von Achitektur und stellen MVC paralell zu den verschiedenen Schichten-Architekturen. --83.135.105.231 09:04, 19. Jul 2006 (CEST)

Der reinen Lehre nach ist MVC ein Paradigma und keine Architektur! Die Architekur legt fest wie das Paradigma umgesetzt wird (siehe auch das Gamma Buch Entwurfsmuster). Habe über eben diesen Punkt mit dem Lehrstuhlinhaber für Software Technik der Uni-Dortmund diskutiert, der dies noch präziser und ausführlicher dargelegt hat als ich jetzt.

Ich stimme keinem der beiden zu: Ein Paradigma ist eher eine Denkweise, etwas sehr grundlegendes (vgl: Programmierparadigma, oder Paradigma). Eine Architekur hingegen ist in der Tat eine konkrete Festlegung. Daher denke ich, ist MVC irgendwas dazwischen. Vorschlag: Architekturstil. ( --Km42 09:01, 18. Mär. 2008 (CET) )Beantworten

Der MVC Song[Quelltext bearbeiten]

Ich find ein Link zum Song wär ganz nett

--Comc 00:21, 3. Feb 2005 (CET)

  • Der Text dieses Liedes scheint mir mehr Inhalt zu haben und richtiger zu sein als dieser Artikel hier ;-) Wo kommt der her? Wo wurde der aufgeführt? Das Publikum muss ja irgendwie vom Fach gewesen sein, sonst hätte es wohl nicht so reagiert, oder? --MiSter
  • Der Song wurde von James Dempsey, eigentlich Softwareentwickler bei Apple geschrieben und bei der Developer Konferenz WWDC 2003 aufgeführt; die Aufnahme stammt vermutlich aus dem Videomitschnitt der Konferenz der allen Teilnehmern auf DVD zur Verfügung stand. Hcii 10:32, 17. Mär 2006 (CET)
  • Hier mehr infos: http://www.oreillynet.com/pub/wlg/3533

Mir scheint die Focusierung auf Webanwendungen irreführend zu sein. MVC ist ein allgemeines Konzept! Zuerst wird betont das MVC2 für Webapplikationen optimiert wurde, anschliessend wird MVC(1) anhand einer WebApp. erklärt. Könnten wir nicht zwei Beispiele bringen MVC("Standard Applikation") und MVC2?

TobiKN

Sehe ich ähnlich. Vor allem habe ich von MVC2 noch nie was gehört und ich arbeite seit einigen Jahren an Web-Anwendungen im Bereich von Großunternehmen. Gemeint ist vermutlich Model 2, was nähmlich nichs anderes als MVC für das Web ist, spezieller für Java-Web-Applikationen. Sun unterscheidet das Model 1 mit JSP als View und Controller und Beans als Model sowie Model 2 mit Servlets als Controller, JSP als View und Beans als Model. --83.135.105.231 09:20, 19. Jul 2006 (CEST)

Konzept[Quelltext bearbeiten]

Ich bin kein MVC Experte, doch ist es nicht so, dass bei Änderungen der Controller durch das Model benachitigt wird?

TobiKN

Der Controller *kann* auch vom Model benachtigt werden. In der Regel sind es nur die Views. Theoretisch kann sich aber jeder als Observer beim Modell anmelden. --Stefan Schultz 16:03, 3. Apr. 2009 (CEST)Beantworten


Das muss mal überarbeitet werden, denn im Grunde zeigen beide Bilder das gleiche oder? 80.228.68.115 00:25, 9. Mai 2005 (CEST)Beantworten

MVC mit Swing in Java[Quelltext bearbeiten]

Wäre es angebracht in diesem Artikel einen Teil einzubauen der die Sonderheiten von "MVC" Implementation in Swing erläutert? Damit meine ich unter anderem spezielle Implementationen wie:

  • PropertyChangeListener
  • EventGenerator (Begriff aus jawaworld.com übernommen, weiss nicht ob der allgemein gültig ist)
  • Observer

Und auch dass in Swing eine komplette Trennung vom Kontroller zu den anderen Teilen nicht möglich ist, da die Kontroller immer an eine GUI Komponente angebunden werden müssen (ActionListener, MouseMotionListener). --Nel 16:17, 22. Mär. 2007 (CET)Beantworten

Vorschlag Trennung MVC und web spezifisches MVC[Quelltext bearbeiten]

Es scheint ja hier genug Leute zu geben, die mit dem Artikel unzufrieden sind, da er zu sehr auf web-spezifisches MVC eingeht. Ich finde man sollte einfach den Artikel trennen. Hier gehört eine Erklärung des klassischen MVC Musters hin. (Observermechanisum etc. hat man im web-Fall ja nicht). Model 1, Model 2 etc. könnte man in extra Seiten beschreiben. Das ist auch in der en-Version von Wikipedia so. MVC 2 hab ich auch noch nicht gehört. Vorläufig habe ich Model 2 mal ein bischen verständlicher erklärt. Ich hoffe das trifft auf Zustimmung.

Außerdem: wie wäre es mit einem besseren Beispielbild Model 2 Beispiel aus: jGuru: JavaServer Pages Fundamentals, Short Course Contents Ich weiß nur nicht wie das mit der Lizenz ist.

Noch eine gute Quelle: (wurde hier auch schonmal genannt.. ist das dann einen Link wert?) Design Enterprise App. with J2EE

Gruß Sebastian

-- prehn 11.07.07 16:51 (CET)

"Das" Model View Controller - Muster gibt es wohl nicht[Quelltext bearbeiten]

Ein Model-View-Controller-Konzept. Eine durchgezogene Linie symbolisiert hier eine direkte Assoziation, eine gestrichelte eine indirekte Assoziation (zum Beispiel über einen Beobachter).

Ich hab oben nicht alles durchgelesen, aber es scheint mir hilfreich, dass man mal klar machen muss, dass es nicht die eine wahre Lehre gibt. Hier ein kleiner Feldtest, den ich seit Jahren ab und zu mache: MVC-Boxeritis Das Einzige, was immer gleich ist, ist halt, dass Model, View und Controller separate Komponenten sind. TiHa (Diskussion) 14:51, 12. Feb. 2021 (CET)Beantworten

Die von dir gefundenen Bilder - ich hab mir mal die ersten ca. 20 angesehen - passen aber sehr gut zum Muster und auch zu dem Bild hier. Muster werden eigentlich niemals identisch umgesetzt, versuch mal Bilder/Implementierungen zu beliebigen anderen Mustern zu finden. Dass die Komponenten separat sind ist das wichtigste, wie die Verbindungen dazwischen ausgeprägt sind (ob über direkte Zugriffe oder Events oder gar nicht, weil z.B. die View nur Read-Only ist), ist eigentlich nebensächlich... --Sebastian.Dietrich  ✉  15:50, 12. Feb. 2021 (CET)Beantworten
Ja, letztlich ist es ein Anwendung von Separations of Concerns. Deiner Interpretation stimme ich ja auch voll zu - das tut aber nicht jeder. Manche legen, wie ich auch oben irgenwo gelesen habe, sehr viel Wert darauf, dass es nur so und so richtig ist. Sprich, die Pfeile spielen für sie eine große Rolle - und da bekommt man bei Google auf Anhieb locker ein Dutzend Varianten raus ;-) TiHa (Diskussion) 16:04, 12. Feb. 2021 (CET)Beantworten
Ja da sind wir einer Meinung - auch dass es Leute gibt, die das ganz streng auslegen. Aber im Artikel steht nichts davon drinnen, wie die Pfeile umzusetzen sind (über direkte vs. indirekte Assoziation), bei dem Bild wird explizit geschrieben "Ein" MVC Konzeptbei und den Web-Umsetzungen stehen sogar Varianten, die dem Bild nicht entsprechen. d.h. der Artikel schreibt und suggeriert nicht, dass es nur die eine einzig richtige Umsetzung gibt.
Ich denke nicht, dass wir da jetzt extra in den Artikel reinschreiben sollten / müssen, dass es unterschiedliche Varianten der Assoziationen gibt. Wer was im Artikel liest, dass dort nicht drinnen steht, ist mMn selber schuld. --Sebastian.Dietrich  ✉  17:45, 13. Feb. 2021 (CET)Beantworten
Das "Ein" hatte ich grad erst in die Bildunterschrift eingefügt. Im Text werden jedoch immer noch sehr explizite Aussagen über gegenseitige Abhängikeiten gemacht. TiHa (Diskussion) 17:54, 13. Feb. 2021 (CET)Beantworten