Thomas Chojecki
2008-12-16 14:46:19 UTC
Hallo NG,
ich will eine Schnittstelle für das Schreiben und Lesen von Objekten in
die Datenbank realisieren.
Ein abstraktes Basismodel habe ich schon fertig, was für jede Datenbank
geerbt wird und dann halt die nötigen Methoden von dem zuständigen
Entwickler ausgeschrieben werden.
Das Ganze sieht im Moment ungefähr so aus:
public abstract class DBManager {
public abstract void verbinde(String host, int port, String db,...);
public abstract void trenne();
public abstract boolean istVerbunden();
public abstract void schreibeObjekt1(Objekt1 o1);
public abstract void schreibeObjekt2(Objekt1 o2);
public abstract Objekt1 leseObjekt1(Objekt1 o1_example);
public abstract Objekt2 leseObjekt2(Objekt2 o2_example);
public boolean pruefeObjekt1(Objekt1 o1) {...}
...
}
public class MySQLManager extends DBManager {...}
Später würde ich das Ganze zB. wie folgt einbinden
DBManager dbm = new MySQLManager(); // bzw.
DBManager dbm = new DB4OManager();
dbm.verbinde(...)
Objekt1 o1 = new Object1("Hallo","Welt");
dbm.schreibeObjekt1(o1);
dbm.trenne();
Für eine relationale Datenbank ist dieses Beispiel ok und funktioniert
super. Ich habe aber noch DB4O und dort passt dann die Methode
verbinde(String host ...) nicht mehr.
1. Wie bekomme ich sowas einheitlich gelöst?
2. Das Model beinhaltet fertige Methoden zum Prüfen der Objekte vor dem
schreiben in die Datenbank, gibt es ein Muster womit man so eine Prüfung
ohne zutun des Entwicklers realisiert? Also das der Entwickler nur die
Methode schreibeObjekt1(...) {...} füllt und das Model halt die Prüfung
vor dem abschicken durchführt. Oder sollte man sowas dem Entwickler
überlassen?
Schonmal vielen Dank
Thomas Chojecki
ich will eine Schnittstelle für das Schreiben und Lesen von Objekten in
die Datenbank realisieren.
Ein abstraktes Basismodel habe ich schon fertig, was für jede Datenbank
geerbt wird und dann halt die nötigen Methoden von dem zuständigen
Entwickler ausgeschrieben werden.
Das Ganze sieht im Moment ungefähr so aus:
public abstract class DBManager {
public abstract void verbinde(String host, int port, String db,...);
public abstract void trenne();
public abstract boolean istVerbunden();
public abstract void schreibeObjekt1(Objekt1 o1);
public abstract void schreibeObjekt2(Objekt1 o2);
public abstract Objekt1 leseObjekt1(Objekt1 o1_example);
public abstract Objekt2 leseObjekt2(Objekt2 o2_example);
public boolean pruefeObjekt1(Objekt1 o1) {...}
...
}
public class MySQLManager extends DBManager {...}
Später würde ich das Ganze zB. wie folgt einbinden
DBManager dbm = new MySQLManager(); // bzw.
DBManager dbm = new DB4OManager();
dbm.verbinde(...)
Objekt1 o1 = new Object1("Hallo","Welt");
dbm.schreibeObjekt1(o1);
dbm.trenne();
Für eine relationale Datenbank ist dieses Beispiel ok und funktioniert
super. Ich habe aber noch DB4O und dort passt dann die Methode
verbinde(String host ...) nicht mehr.
1. Wie bekomme ich sowas einheitlich gelöst?
2. Das Model beinhaltet fertige Methoden zum Prüfen der Objekte vor dem
schreiben in die Datenbank, gibt es ein Muster womit man so eine Prüfung
ohne zutun des Entwicklers realisiert? Also das der Entwickler nur die
Methode schreibeObjekt1(...) {...} füllt und das Model halt die Prüfung
vor dem abschicken durchführt. Oder sollte man sowas dem Entwickler
überlassen?
Schonmal vielen Dank
Thomas Chojecki