Einzelnen Beitrag anzeigen

Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#26

Re: Connection zu firebird will nicht

  Alt 23. Apr 2010, 07:25
Zitat von idefix2:
Zitat:
nutze ein OPF/ORM-Framework
Hilfe, was ist das?
Jetzt habe ich extra drauf geachtet ORM zu schreiben, weil das in WIki erklärt wird Ein OPF (Object Persistence Framework) oder ORM-Framewokr (Objekt-Relationales-Mapping-Framework) sorgt dafür, dass deine Objektorientierte Strukturen in der Software in einer relationalen DB gespeichert werden können. Im "Idealfall" definierst Du quasi das KLassenmodell, setzt das (z.B. mittels UML) um und das OPF macht den ganzen Rest. Lediglich die Oberfläche musst Du dann noch entwerfen. Aber Achtung - ein OPF ist kein Alleskönner! Da gibts auch genügend Fallen und Hürden!

Zitat von idefix2:
Hmm, aber hast Du nicht dann das gleiche Problem mit Deiner Zwischenschicht, wenn Du Kompatibilität mit verschiedenen Datenbanken brauchst?
Jein - klar ist das nicht trivial, aber ich kann dennoch dafür sorgen, dass wenn die Datenbank z.B. wenn die Datenbank StoredProcedures und Triggers kann, dann kann ich diese auch einsetzen. Und bei ner Datenbank die "nur" Tabellen und Views kennt, nutze ich halt diese. Versuch hier in Schichten zu denken:

so sieht die typische 08/15 DB-Anwendung in Delphi aus:

GUI
----
Datenbank

Die Datenbank ist mehr oder weniger direkt durch Datensensitive Komponenten an die GUI angeschlossen. Wenn Du jetzt was wie Zeos oder DBX einsetzt siehts wegen mir so aus:

GUI
----
Zugriffsschicht
----
Datenbank

Wobei hier schon eingeschränkt werden muss, dass durch die enge Verzahnung von DBX und Zeos mit der GUI, diese nicht ohne weiteres ausgetauscht werden können.

Und so sieht es mit einem OPF aus:

GUI
----
BOM (Business Object Modell)
----
Datenbankzugriffsschicht
----
Datenbank

Oder sogar so:

GUI
----
BOM-Zugriffsschicht
----
BOM
---
DB-Zugriffsschicht
---
Datenbank

Und schon kann ich die Datenbank auswechseln und könnte sogar die Oberfläche auswechseln (z.B: von der VCL auf die Lazarus-Bib, oder NoVCL, oder Intraweb oder sonst was....) Denn wenn ich hier eine Schicht auswechsle (z.B: die Datenbank), dann muss ich lediglich die entsprechende ZUgriffsschicht anpassen und der Rest bleibt gleich.

Aber nochmal: Das ganze Thema ist nicht gerade trivial und in einem Tag zu lernen - aber ziemlich spannend!
  Mit Zitat antworten Zitat