Hallo alzaimar,
RO unterstüzt mit seinen
Structs zwei etwas "ähnliches" wie Objekte, die Serialisiert werden können, ist dabei aber weit von einem O/R-Mapper entfernt. Weder Lazyfetching noch zirkuläre referenzen zwischen solchen Objekten können mit RO umgesetzt werden. Auch Methoden lassen sich nicht an Structs binden, sie entsprechen in diesem Punkten in etwa den Delphi-Records (ohne die Features seit D2006) und stellen einfache "Value-Objects" dar.
Eine Schnittstelle
IAppServer ist unter diesen Einschränkungen einfach und elegant umsetzbar. Viele "Grundlagen" beim Entwickeln einer Three-Tier-Architektur sind bereits im Rahmenwerk vorgesehen und lassen sich gut den eigenen Vorstellungen anpassen.
DA ist auf die Verwaltung von Datasets zugeschnitten und bietet hier gleichfalls sehr mächte Unterstüzung. Gerade das Verarbeiten von Änderungen, die nicht unmittelbar in
SQL übersetzt werden können, ist prima gelöst. Der Client kann davon entkoppelt eine Datenmenge vollkommen transparent verwenden.
Wir setzen die Kombination DA/RO weitestgehend ohne Structs ein. Reports und andere Listen-Werkzeuge (Grids) fahren in Delphi ohnehin besser mit Datasets, so dass wir dort keinen Einsatz für Objektkompositionen sehen. Ausführbare Logik ummantelt Datasets mit Objekten, ohne ihren Inhalt zu kopieren.