Heyho,
bin gerade mal wieder dabei ein eigenes ORM zu basteln bzw. mich dies bzgl schlau zu machen, da ich evtl. gar kein eigenes brauche und auf andere zurückgreifen kann. Allerdings spielt hier ein gewisses Problem rein, mit welchem ich immer noch irgendwie Problemchen habe:
Beziehungen zwischen Objekten (1:1, 1:n, n:m). Ich habe immer wieder darüber nachgedacht, wie ein ORM sowas sinnvoll handelt kann bzw. ob ich meine Klassen an ein ORM anpassen muss, was ja eigentlich nicht so dolle ist, wie ich finde.
Jedenfalls bin ich in diesem Zusammenhang über
dieses Paper gestolpert. Es geht im Allgemeinen darum, dass eine Klasse nicht direkt eine andere Referenziert, um eine Beziehung herstellen, sondern übergibt diese "Funktionalität" und die Verwaltung einem RelationshipManager. Die Klasse selbst stellt dann nur noch entsprechende Schnittstellen bereit, über die alle Beziehungen abgerufen werden können. Alles rund um die Beziehung managt somit der Relationship Manager -- zumindest habe ich es so verstanden
Die Idee selbst gefällt mir ungemein, da ich so viel leichter mit einem Third-Party-ORM klar kommen würde, denn ein ORM ist ja nicht unbedingt für Abbildungen von Beziehungen gedacht, vor allem machen ja n:m Beziehungen doch Probleme.
Was mich aber im Grunde sehr wundert ist, dass ich bisher nichts vergleichbares hier gefunden habe. Und daraus resultiert die Frage, wie ihr sowas handhabt?! Gibt es neuere/bessere Methoden?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)