Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by freimatz,
25. Sep 2018
Ich finde es schon gut wenn man sich mit MVVM beschäftigt - auch mit Delphi. Das gilt aber eher zur Weiterbildung und nicht für produktiven Einsatz.
Wie schon geschrieben verwenden wir MVVM, würden es aber vermutlich wegen dem hohen Aufwand nicht mehr anfangen. Jetzt sind wir schon drin und machen dann damit halt weiter. Ich meine auch dass wir es "eichtig" machen. Allerdings ist für jede...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by freimatz,
21. Sep 2018
Sehe ich nicht so, es fehlt halt das passende brauchbare FrameWork.
Du darfst das so sehen, aber bitte nenne das nicht MVVM. Danke. :wink:
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by freimatz,
21. Sep 2018
Bei uns sieht das Bindung z.B. so aus:
procedure TConstructGroupFrameEvalDirection.BindControls();
var
evalDirection: IEvalDirectionViewModel;
begin
...
//---- element id
edDirElementId.Bindings.New(evalDirection.ElementId, BindingModeET.Bidirectional, true);
//---- value
vfDirection.Bindings.New(evalDirection.EvalDirection, BindingModeET.Bidirectional);
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by freimatz,
21. Sep 2018
Das kommt drauf an, was man unter MVVM versteht. Für mich gibt es (u.a.) zwei Sichtweisen die sich teilweise wiedersprechen.
1. Das Viewmodel abstrahiert die Daten und die Darstellung. Die View soll jederzeit austauschbar sein.
Beispiel: Es gibt ein Passwort und die Aktion Verbinden. Eine Logik besagt: die Aktion Verbinden darf nur ausgeführt werden, wenn das Passwort da ist.
2. Das...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by freimatz,
21. Sep 2018
Vielleicht wäre auch mal wichtig die Frage zu stellen: was willst Du mit MVVM erreichen? Entkoppelung? Testbarkeit? Views austauschen? Oder?
Je nach dem kann das Design anders aussehen.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by freimatz,
21. Sep 2018
Ist das wichtig? Es ist doch dein code:wink:
Für zwei Aktionen die was verschiedenes machen brauchst Du nun mal auch im viewmodel zwei Dinge. Das könnte auch eine Methode mit einem Parameter sein. Oder zwei Klassen.
Auch wenn es dir nicht weiter hilft: Wir haben uns was selbst gestrickt und da erfolgt in so einem Fall das Binding von je einem Button auf je ein ViewCommand-Object im ViewModel.