Laden...

Warum wird MVVM so gehyped?

Erstellt von zero_x vor 12 Jahren Letzter Beitrag vor 12 Jahren 3.456 Views
zero_x Themenstarter:in
1.044 Beiträge seit 2008
vor 12 Jahren
Warum wird MVVM so gehyped?

Hallo zusammen,

schon länger merke ich den Hype vom das MVVM-Pattern. Ich sehe immer wieder Fragenstellende, die eine simple Frage haben. Prompt darauf gibt es die Antwort: MVVM. MVVM sei ein Allheilmittel - das Gefühl habe ich.

MVVM ist nur ein Pattern. Ein Pattern um bestimmte Probleme aus dem Weg zu gehen und es einfacher zu lösen. Dennoch werden Anfänger immer mit MVVM konfrontiert und dann ein Punkt gesetzt. Warum dann nicht gleich CCD vorschlagen? CCD würde überall irgendwie passen.

Es ist Ansichtssache, ob MVVM ein Muss ist oder nicht. Es bleibt in meinen Augen jedem selbst überlassen, ob er sich mit MVVM auseinandersetzen/verwenden möchte oder nicht. Kurioserweise gibt es den Schrei nach MVC nicht. Nach CCD auch nicht.

Was ist bei MVVM so "anziehend"? Mich würde es interessieren wie ihr dazu steht!

zero_x

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo,

ich sehe MVVM - was nur ein Muster in Form einer losen Richtlinie ist - als Inbegriff von Datenbindung bei WPF. Nachdem nun mal Trennung von Logik und Design eine unbestritten vorteilhafte Tatsache ist liegt es auf der Hand in WPF das Konzept der Datenbindung voll zu nützen und dies geht mMn am elegantesten mit MVVM. Wie auch immer das Muster genau implementiert wird ist ja nicht definiert 😉

Gerade für Anfänger sehe ich es von Vorteil wenn sie gleich in die richtige Richtung gestupst werden. Einmal falsch gelerntes wieder auszubessern ist viel schwieriger als gleich richtig zu lernen. Und der Hinweis auf MVVM kommt wohl deshalb so häufig da der dann meist verlinkte MVVM-Artikel von Josh Smith nicht nur die Theorie hinter dem Muster bringt, sondern und vielleicht vor allem deshalb weil er mit einem vollständigen Mini-Beispiel ausgetattet ist.

Dennoch werden Anfänger immer mit MVVM konfrontiert und dann ein Punkt gesetzt.

Ich sehe nicht dass ein Anfänger damit konfrontiert wird. Eher im Gegenteil - er soll damit eine Erleichterung haben. Irgendwelche Klimmzüge in der Codebehind - wo dann die Controls eh nicht gefunden werden - sind doch viel schlimmer und aufwändiger als einfaches Binding. Noch dazu wenn Templates verwendet werden, usw.

Außerdem ist MVVM nicht unbedingt ein Modebegriff, sondern eher die Evolution von Mustern wie MVC, MVP und PresentationModel.

Aber: Das Thema wurde schon einige Male besprochen. Bitte benutze die Forumssuche und poste die besten Treffer hier. Vielen Dank!
😁

ad MVC: ist gerade in ASP.net sehr aktuell, für desktopbasierte und speziell für MVVM ist es wegen der Bindungsmöglichkeiten irgendwie nicht mehr aktuell. Durch die Bindung (zu ICommands) entfallen nämlich die Event-Handler.

ad CCD: das ist für mich eher ein Modebegriff, denn alle Prinzipien sind eigentlich durch die allg. OOP-Prinzipien schon deklariert. Gut CCD geht einen Schritt weiter indem es auch Abläufe des Programmierer-Lebens "per Richtlinien vorgibt".

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo zero_x,

Was ist bei MVVM so "anziehend"?

ich denke, dass MVVM quasi mit WPF (vielleicht auch mit ASP.NET) "mitkommt". So wie ereignisgesteuerte Programmierung mit Windows Forms "mitkam". Damit meine ich, wenn man in Windows Forms nicht ereignisgesteuert programmiert, programmiert man gegen Windows Forms an. Man wird nicht glücklich werden. Nach meinem (zugegeben rudimentären) Verständnis von WPF programmiert man gegen WPF an, wenn man nicht MVVM benutzt. Wenn ich damit richtig liege, ist es also folgerichtig und sinnvoll, jemanden der WPF benutzen will, zu MVVM zu raten.

Kurioserweise gibt es den Schrei nach MVC nicht.

Es gibt aber zumindest den Schrei nach Trennung von GUI und Modell, mindestens so laut, wie den nach MVVM. Wenn man so will, also nach einem MVC-light bzw. einem M-VC. Und auch MVC selbst wird in der einen oder anderen Variante immer wieder mal vorgeschlagen, allerdings drängt sich bei normalen Business-Anwendungen MVC nicht gerade auf.

Warum dann nicht gleich CCD vorschlagen?

Das halte ich für nicht vergleichbar. Auf der anderen Seite wird ja, wo es passt, immer wieder auf bestimmte CCD-Prinzipien hingewiesen.

herbivore

161 Beiträge seit 2007
vor 12 Jahren

ich denke, dass MVVM quasi mit WPF (vielleicht auch mit ASP.NET) "mitkommt". So wie ereignisgesteuerte Programmierung mit Windows Forms "mitkam". Damit meine ich, wenn man in Windows Forms nicht ereignisgesteuert programmiert, programmiert man gegen Windows Forms an. Man wird nicht glücklich werden. Nach meinem (zugegeben rudimentären) Verständnis von WPF programmiert man gegen WPF an, wenn man nicht MVVM benutzt. Wenn ich damit richtig liege, ist es also folgerichtig und sinnvoll, jemanden der WPF benutzen will, zu MVVM zu raten.

Das unterschreib ich so. Hab jetzt schon einige Jahre Erfahrung mit WPF und WPF ohne MVVM ist wie ein Ferrari mit Golf Motor.

"Eine wirklich gute Idee erkennt man daran,
dass ihre Verwirklichung von vorneherein ausgeschlossen erscheint."
(Albert Einstein)