AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zum Designkonzept MVVM unter Delphi

Ein Thema von jus · begonnen am 20. Sep 2018 · letzter Beitrag vom 25. Sep 2018
Antwort Antwort
Seite 1 von 2  1 2      
Schokohase
(Gast)

n/a Beiträge
 
#1

AW: Frage zum Designkonzept MVVM unter Delphi

  Alt 21. Sep 2018, 13:31
Mir scheint als ob es hier beim Konzept noch Verständnisschwierigkeiten gibt.

Bei MVVM kommt es nicht darauf an, dass die View keinen Code enthält.
Die View darf allerdings nur Code enthalten für das Binding zwischen View und ViewModel und die Darstellung.

Beispiel:

Wenn der Spieler den HighScore genackt hat, dann sollen bunte Luftballons über den Schirm fliegen. Die View kümmert sich um die Luftballons und das fliegen. Die Information bzgl. des geknackten HighScores kommt aber aus dem ViewModel.

Wenn man eine View hat, wo "augescheinlich" gar kein Code vorhanden ist, dann sollte man etwas weiter hinter die Kulissen schauen und findet dort jede Menge Code (für das Binding oder die Darstellung). Je ausgefeilter das Präsentations-Framework umso weniger Code muss ich noch zusätzlich in die View schreiben (weil das ja schon jemand für mich gemacht hat).

Mit einem ganz vorzüglichen Framework braucht man tatsächlich nicht eine Zeile Code in der View zu tippen.

Geändert von Schokohase (21. Sep 2018 um 13:36 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.166 Beiträge
 
Delphi 12 Athens
 
#2

AW: Frage zum Designkonzept MVVM unter Delphi

  Alt 21. Sep 2018, 13:44
Zitat:
Die View darf allerdings nur Code enthalten für das Binding zwischen View und ViewModel und die Darstellung.
Aha siehe da. Genau das meine ich.

Und .. ich glaube vorsichtig zu meinen das man das nicht immer so sauber trennen kann.

Es ist wie mit OOP, theoretisch super, in der Praxis mag es mal hakeln.
(z.B. was heute Code deines Views ist, wird morgen womöglich Code deiner Business-Logik).

Rollo
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#3

AW: Frage zum Designkonzept MVVM unter Delphi

  Alt 21. Sep 2018, 13:50
Zitat:
Die View darf allerdings nur Code enthalten für das Binding zwischen View und ViewModel und die Darstellung.
Aha siehe da. Genau das meine ich.

Und .. ich glaube vorsichtig zu meinen das man das nicht immer so sauber trennen kann.

Es ist wie mit OOP, theoretisch super, in der Praxis mag es mal hakeln.
(z.B. was heute Code deines Views ist, wird morgen womöglich Code deiner Business-Logik).

Rollo
Eine gewagte These. Nenne mir ein konkretes Beispiel wo das zutrifft und ich werde dir den Fehler zeigen.

Fliegende Luftballons auf dem Bildschirm weil der Highscore genackt wurde haben nichts in der Logik zu suchen. Weder gestern, noch heute oder morgen.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.166 Beiträge
 
Delphi 12 Athens
 
#4

AW: Frage zum Designkonzept MVVM unter Delphi

  Alt 21. Sep 2018, 14:09
Z.B. Verriegelung von Controls.
Ich darf Edit2 erst bearbeiten wenn in Edit1 etwas drinsteht.

Ja klar, du sagst das gehört nicht in das ViewModel, aber ich bin sicher es gibt Änderungen wo
dann erstmal solche Fälle erst egal sind, dann plötzlich in einem halben Jahr verlangt werden.

Ist das jetzt ViewModel oder Model Business-Logik ?

Sorry, hab gerade kein besseres Beispiel, bin im Stress ...

Rollo

Geändert von Rollo62 (21. Sep 2018 um 14:14 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.873 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Frage zum Designkonzept MVVM unter Delphi

  Alt 21. Sep 2018, 14:19
Die Begrifflichkeit des MVVM wird tatsächlich in fast jeder Lösung verschieden interpretiert.
Mir gefällt der Ansatz von grijjy

Bin mit der Erweiterung allerdings noch nicht wirklich weit gekommen.

Würde mich aber um Mitstreiter freuen. (Gerne auch bessere Porogrammierer wie ich).
Markus Kinzler
  Mit Zitat antworten Zitat
jus

Registriert seit: 22. Jan 2005
350 Beiträge
 
Delphi 2007 Professional
 
#6

AW: Frage zum Designkonzept MVVM unter Delphi

  Alt 24. Sep 2018, 18:32
Vielen Dank für die vielen Anregungen.
Die Begrifflichkeit des MVVM wird tatsächlich in fast jeder Lösung verschieden interpretiert.
Mir gefällt der Ansatz von grijjy

Bin mit der Erweiterung allerdings noch nicht wirklich weit gekommen.

Würde mich aber um Mitstreiter freuen. (Gerne auch bessere Porogrammierer wie ich).
Den Hinweis von mkinzler mit grijjy hätte ich mir auch gerne angeschaut, es ließ sich mit meiner alten Delphi 2007 Version nicht kompilieren.

Ich denke, dass ich zwar das Konzept von MVVM in Groben verstanden habe, aber vermutlich habe ich es nicht so gut verstanden, dass ich die konkrete Implementierung in Delphi hinbekomme. Ich würde mich halt viel einfacher tun, wenn ich eine einfache funktionierende Delphi Source hätte, wo ich mich halt weiterhanteln kann. Und nun meine ketzerische Frage, da wir bisher öfters schon gehört haben, was nicht MVVM ist. Kennt wer eine simple Delphi MMVM Beispielimplementierung mit Source, die ohne mächtiges Framework und Live-Binding auskommt?

Geändert von jus (24. Sep 2018 um 18:38 Uhr)
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#7

AW: Frage zum Designkonzept MVVM unter Delphi

  Alt 24. Sep 2018, 18:47
Ich würde mich halt viel einfacher tun, wenn ich eine einfache funktionierende Delphi Source hätte, wo ich mich halt weiterhanteln kann. Und nun meine ketzerische Frage, da wir bisher öfters schon gehört haben, was nicht MVVM ist. Kennt wer eine simple Delphi MMVM Beispielimplementierung mit Source, die ohne mächtiges Framework und Live-Binding auskommt?
Lies bitte
Brauch ich nicht, hab schon gesagt, dass MVVM in Delphi imho Tinnef ist.
Du kannst gerne ohne Binding versuchen (da kann ich dir versprechen, das macht keinen Spaß) oder so wie Stevie, der ein eigenes Binding auf die Beine gestellt hat und ernsthaft (einer der ganz wenigen die ich kenne) MVVM nach Delphi bringen wollte - und der hat das Handtuch geworfen.

Wenn du dein Geld normalerweise zu einer Domina trägst, dann würde ich sagen, mach es und du sparst dir das Geld dort ein. Ansonsten folge dem Rat von Stevie: Vergiss es einfach.
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#8

AW: Frage zum Designkonzept MVVM unter Delphi

  Alt 24. Sep 2018, 18:55
Ich habe dieses Video

https://www.youtube.com/watch?v=virHepvMetw

sehr bereichernd und - für mich - praktisch nutzbar gefunden.
  Mit Zitat antworten Zitat
Thomas Feichtner

Registriert seit: 30. Nov 2007
Ort: Rum
137 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Frage zum Designkonzept MVVM unter Delphi

  Alt 25. Sep 2018, 09:56
Hallo zusammen,

hier gibt es ein schönes Buch von John Kouraklis "MVVM in Delphi". Hier wird eine kleine Anwendung auf MVVM umgebaut.

Ebenso hat mir das YouTube von Olaf Monien gut gefallen MVVM Anwendungen in Delphi Programmieren mit und nicht gegen Delphi.

Da wir sehr viel datenbankgebundenen Komponenten arbeiten gefällt mir der Ansatz sehr gut.
Wichtig ist einfach die Trennung GUI und Business-Logik.
mfg

Thomas Feichtner
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#10

AW: Frage zum Designkonzept MVVM unter Delphi

  Alt 21. Sep 2018, 14:22
@Rollo62

Control.Enabled setzen macht die View, das Ermitteln wann und warum (z.B. erst wenn ein gültiges Land ausgewählt wurde kann man die Postleitzahl eintragen) ist Aufagbe des ViewModels.

Ob das ViewModel diese Aufgabe dann an das Model weiterdelegiert oder nicht ... was kümmert es die View. Das ViewModel sollte einfach eine Antwort darauf haben, damit die View ihre Arbeit erledigen kann.

Wenn es Änderungen an den Anforderugen gibt ... kommt darauf an was für Änderungen
  • Statt fliegender Luftballons jetzt tanzende Mäuse? Betrifft nur die View.
  • Zusätzlich zum Land müssen auch 3 Checkboxen gewählt sein? Betrifft nur das ViewModel (wenn es diese Eigesnchaften schon gab)
  • ...

Geändert von Schokohase (21. Sep 2018 um 14:30 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz