Den praktischen Nutzen der obigen Video-Beispiele verstehe ich nicht wirklich.
Die ViewModels sind letztlich Wraper auf die Daten. Das Binding zwischen
GUI und ViewModels wird über die LiveBindings durchgeführt.
Dann könnte man doch auch die
GUI direkt über die LB an die Daten binden?
Sinnvoll wäre die Trennung, wenn unterschiedliche Views an die BL angebunden werden sollen. Aber das würden die LiveBindings ja auch schon nicht ermöglichen. Ok, man könnte später die Datenschicht leichter austauschen, aber das ist ja wohl nicht das Ziel der Beispiele.
Auf mich wirkt das irgendwie wie ein Selbstzweck, nur um ein MVVM vorzeigen zu können.
Die Arbeit erleichtert es sicher nicht. Und die Trennung von BL und
GUI kann man auch leichter beibehalten.
Wie gesagt, ich bin Fan der Trennung von BL und
GUI. Unbedingt.
Die Frage ist aber, wie einfach oder aufwendig man das erreicht und ob man das nutzt, um eine modulare und flexible Programmierung EINER geschlossenen Anwendung zu erreichen oder ob man verschiedene
GUI´s unterschiedlicher Plattformen an eine BL binden will.
Im letzteren Fall muss man einen höheren Aufwand betreiben, aber wann braucht man das wirklich?
I.d.R. hat man doch seine Formulare und will die möglichst einfach an die BL binden, die irgendwo im Speicher liegt und ihren Kram erledigt.
Ich will die BL komfortabel coden, die
GUI komfortabel
RAD-mäßig zusammenbasteln und den Controls sagen, welche Daten sie anzeigen sollen (ähnlich wie
DB-Controls der Feldname zugewiesen wurde). Das ist meine Wahnvorstellung...
Wenn man dann in der
GUI keine BL-Logik unterbringt ist doch eigentlich alles super.