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.