Dies ist eher eine Frage Architektur/Design.Wie vermeidet man eine Databinding/Ereignishölle auf einem komplexen Bildschirm?
Ich habe ein paar Projekte in der Vergangenheit in WPF/Windows Forms, etc., die komplexe Bildschirme mit vielen Feldern haben und diese Felder miteinander verbunden sind (ihre Werte hängen voneinander mit etwas Logik beteiligt).
Diese Projekte habe ich übernommen, nachdem sie implementiert wurden, und ich fand eine Menge Ereignisse/Daten binden Hölle - was ich damit meine ist, dass, weil alle diese Felder abhängig von anderen haben sie INotifyPropertyChanged implementiert und andere Felder sind als Ergebnis verändert werden. Dies führt dazu, dass die gleichen Felder 5-6 mal aktualisiert werden, wenn der Bildschirm geladen wird, und die Reihenfolge, in der die Felder gefüllt sind, verursacht schreckliche Fehler. (Zum Beispiel: Datum vor Jobtyp eingestellt wurde, statt nach Jobtyp, so dass ich am Ende mit einer anderen Job Fee.)
Erschwerend kommt hinzu, einig Hacks umgesetzt auf UI-Ereignisse (z. B. DropDown wurde geändert, um Feld X zu aktualisieren), während andere sich im Domänenmodell befinden, an das die UI gebunden ist.
Im Grunde ist es ein riesiges Durcheinander, und ich möchte nur wissen, was der beste Weg ist, etwas wie das zu implementieren, wenn ich von Null anfangen würde. Oder ist es eine gute Idee, solch einen komplexen Bildschirm überhaupt zu vermeiden?