[DB4O] Data Access Objekte

TommyMo

Erfahrenes Mitglied
Hallo zusammen,

ich bastle derzeit privat an einer Anwendung und habe vor als DBMS db4o zu verwenden.

Ich habe bereits meine ersten Gehversuche gemacht und bin gerade dabei den DAL (Data Access Layer) meiner Anwendung zu kreieren. Die Entitäten, also die Objekte die in der Datenbank abgelegt werden sollen, sind bereits erstellt, also die Basis ist vorhanden. Nun möchte ich mit den Daten natürlich auch arbeiten, sprich lesend und schreibend darauf zugreifen. In der "alten" relationalen Welt werden hierfür spezielle Zugriffsklassen verwendet, sogenannte DAOs (Data Access Object).

Meine Frage bezogen auf db4o:
Ist es notwendig DAOs zusätzlich zu erstellen, oder macht es Sinn die Zugriffsoperationen direkt in die Entitätsklassen zu implementieren?

Mein persönliche Erfahrung rät mir dringen davon ab, allerdings habe ich keine bis wenig Erfahrung bei der Modellierung von objektorientierten Datenbanken und leider bin ich durch googeln und Forumsuche nicht schlauer geworden.

Hat jemand eine Antwort, Tipp oder eine passende Ressource was das Modellieren von OODBs betrifft?

Danke im Vorhinein!

Gruß,
Tom
 
Hallo,

also ich würde dir auch bei der Verwendung von DB4O empfehlen den ObjectContainer Einsatz über entsprechendes DAO's zu kapseln. Die Realisierung der Persistenz sollte (IMHO) aus arbiträren Anwendungsklassen herausgehalten werden... es sei denn man steht auf ActiveRecord...

Gruß Tom
 
Hi Tom!

So hab ichs jetzt auch gemacht. Ich kapsel die Verwaltung wie auch bei relationalen Ansätzen mittels DAOs.

Auslöser für die Verwirrung war der Ansatz von DB4O, der mir persönlich sehr gut gefällt, dass interne Container, also Beziehungen zu anderen Entitäten, automatisch gespeichert werden. Das ließ mich, da ich derzeit einen kompakten Entitätenbaum habe, daran denken eine einzige Klasse für die Verwaltung zu schreiben, deswegen auch die Frage mit den DAOs. Nachteil an der Sache ist natürlich die Nachbearbeitung bzw. das Einführen neuer Funktionalitäten. Somit ist der vorher erwähnte Ansatz für mich passe.

Danke dir für die Antwort!

Gruß,
Tom
 
Zuletzt bearbeitet:
Zurück