Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#13

AW: Aufgaben mit LiveBindings und Delphi-DB's erledigen

  Alt 6. Mai 2016, 07:59
Hallo Harry...
Warum willst du dich in der Datenstruktur an das DataSet, DataSource, DB sensitive Controls Gedöns pressen lassen? Imho holst du dir mehr Flöhe in den Pelz als notwendig.
Persönlich habe ich mich davon komplett verabschiedet...und ein Klotz am Bein ist weg.
Mein Vorgehen:
1. Für die Daten des Programmes existieren einfache Datenobjekte (TPerson z.B.)
2. Diese werden in generischen Listen gehalten.
3. Das Füllen der Listen übernimmt eine Datenschicht welche als Interface implementiert ist. Beispiel: Data.FillList(PersonList: TPersonList)
4. Wenn die Listen gefüllt sind, werden die Daten in einem beliebigen Control dargestellt. Das Objekt hängt an dem jeweiligem Eintrag dran.

Vorteile:
1. Der Programmlogik ist es völlig wurscht wo die Daten herkommen...sie arbeitet mit den Objekten.
2. Die Datenschicht ist austauschbar... (Herkunft der Daten z.B. aus XML oder verschiedenen DBMS)
3. Die Daten können an verschiedene Controls übergeben werden. Du bist nicht auf die VCL beschränkt. Imho auch über LiveBindings.

Je nach Größe und Aufwand kann man sich das ORM (Datenschicht) selbst zusammenstellen (meine bevorzugte Variante) oder es mit einem verfügbarem Framework erledigen lassen.

Zu Filter + Sortierung:
* Sortieren der generischen Listen über Comparer
* Filtern über Neuaufbau der Anzeige über die Kriterien.
* Ableitung der Liste die ähnlich dem Comparer einen Filter erhält / übergeben bekommt. Über einen Getter gibst du die "gefilterte" Liste zurück.

...sieh es als Denkanstoß.

...ein schönes Wochenende.

Geändert von haentschman ( 6. Mai 2016 um 09:27 Uhr)
  Mit Zitat antworten Zitat