Thema: Delphi ORM - wieweit sinnvoll?

Einzelnen Beitrag anzeigen

Lemmy

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

AW: ORM - wieweit sinnvoll?

  Alt 23. Sep 2011, 22:39
Hi,

es kommt halt drauf an... Wenn schon von vornherein klar ist, dass unterschiedliche DBMS angebunden werden sollen und eine gewisse Geschäftslogik abgebildet werden soll, dann würde das schon stark für ein (großes) ORM sprechen, da die GEschäftslogik innerhalb des ORM wäre und die DBMS nur als austauschbare Datenspeicher dienen.

Andererseits ich habe mir mal selbst ein einfaches ORM geschrieben für ein Programm, das Daten für Energiepässe berechnet hat. Die Berechnungen wurden auf einem Objektmodell durchgeführt, dessen Daten in einer XML-Datei gespeichert wurden. Für solche Zwecke würde ich niemals ein fertiges ORM einsezten, viel zu viel Overhead und zu wenig Freiheiten um die projektspezifischen Dinge abbilden zu können.

Genauso würde ich es mir zweimal überlegen, wenn ich ein Warenwirtschaftsprogramm erstellen würde, wo von vorn herein klar ist, dass nur eine bestimmte DB eingesetzt wird. Hier würde ich ggf. ein leichtes ORM produzieren (Delphi bringt hier ja alles notwendige mit) um die einzelnen Elemente gut gegeneinander kapseln zu können (Adressverwaltung, Inventar, Rechnungsschreibung) damit hier definierte Schnittstellen existieren. Sollte dann im laufenden Betrieb dann doch die Anforderung kommen ein weiteres DBMS unterstützen zu müssen, könnte man das relativ weit unten in der Hierarchie ohne dass das OM davon betroffen ist entsprechend einpflegen. Denn wenn schon ein Objektmodell da ist bzw. gebraucht wird, ist das Mapping gegen eine DB nur noch ein kleiner SChritt. Und hier ist es schon entscheidend, ob das RM aus 20-30 Zeilen Code besteht oder für jede Klasse 20-30 Zeile Code notwendig sind!
und ein weiterer unschätzbarer Vorteil ist die Möglichkeit das ganze per Unit-Tests abzusichern - versuch das mal bei einer Anwendung mit DBEdits die direkt auf einer Query hängen.

Dennoch sollte man nicht den Pflegeaufwand für ein eigenes ORM unterschätzen. Fehlentscheidungen können hier mal ganz schnell ein paar Tage/Wochen Entwicklungszeit kosten bzw. die eigentlich erhoffte Beschleunigung der Entwicklung durch ein schlechtes Klassenmodell bzw. zu starken Abhängigkeiten mal ganz schnell auffressen.
  Mit Zitat antworten Zitat