Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Warum wird MVVM so gehyped?
zero_x
myCSharp.de - Member

Avatar #avatar-2567.gif


Dabei seit:
Beiträge: 1069
Herkunft: Koblenz

Themenstarter:

Warum wird MVVM so gehyped?

beantworten | zitieren | melden

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
zero_x | myCSharp.de - gemeinsam mehr erreichen

Für längere Zeit inaktiv.
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7581
Herkunft: Waidring

beantworten | zitieren | melden

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.
Zitat
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!"
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo zero_x,
Zitat
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.
Zitat
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.
Zitat
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
private Nachricht | Beiträge des Benutzers
kelkes
myCSharp.de - Member

Avatar #avatar-2494.jpg


Dabei seit:
Beiträge: 162
Herkunft: Wien/Österreich

beantworten | zitieren | melden

Zitat von herbivore
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)
private Nachricht | Beiträge des Benutzers