1. Das Livebindung speichert nichts in einer Datenbank. Es kann aber ein DataSet über einen entsprechenden Adapter befüllen, bzw. auslesen.
2. Wie bisher, da gibt es keine Unterschiede. Das DataSet kann Daten wieder in die
DB schreiben
3. Nein
4. Die BindList und die Scopes sollten auf dem Formular liegen. Theoretisch müsste das funktionieren, aber sinnvoll ist es nicht, denn das Binding erfolgt ja gegen Controls und warum sollte ich die trennen. Die Livebindings gehören zum Visualisieren und damit auf/zur View
5. Ja, eine entsprechende Anwendung mit entsprechender Trennung sieht wie folgt aus:
Datenmodul: Connection zur Datenbank (eigentlich ein Singleton)
Service: Kennt das Datenmodul und fragt die
DB ab (
Query). Die Kapselung zur Anwendung über ein DataSetProvider
Presenter: Hat einen eigene Service-Instanz und holt sich von diesem die Provider und übergibt diese an ein ClientDataSet. Das DataSet wird an die View übergeben
View: Die View nimmt vom Presenter das DataSet entgegen und zeigt den Inhalt an
(z.B. klassisch per DBGrid o.ä., oder per Livebinding mit BindscopeDB)
Das einzige was für FMX geändert werden muss ist die View.
Und wenn der Zugriff auf die
DB geändert werden soll (andere
DB, andere Komponenten) dann wird nur der Service und das Datenmodul gewechselt (angepasst)
Ich kann nächste Woche mal eine Demo-Anwendung zeigen, die dann ein und das selbe mit unterschiedlichen Zugriffen (DataSet, Objekte mORMot) sowie
VCL und FMX. Genau das baue ich im Moment zusammen.