Literatur gesucht: Klassendesign für Cross-Datenbank-Entwicklung (oder so)
-
Hallo,
ich bin auf der Suche nach Literatur oder sonstigem Material im Internet. Ich werde demnächst an einer umfangreicheren Anwendung mitschreiben, die verschiedene Datenbanken unterstützen soll. Speziell sind dies MS SQL-Server, MySQL und vielleicht noch die eine oder andere file-basierte "nicht-SQL-Datenbank". Die breite Palette der zu unterstützenden Datenbanken erfordert ein sauberes Klassen-Design, um eine vom Rest der Applikation getrennte Datenbank-Schicht implementieren zu können.
Die Entwicklung soll mit dem Borland C++Builder erfolgen.würde mich über Hinweise und Anregungen freuen
-
kannst das doch ganz einfach ueber eine Klassen Hierarchy lösen
struct datenbank { virtual ~datenbank() { disconnect(); } //sendet SQL Befehle an die Datenbank virtual bool query(const std::wstring &str) =0; //liest Daten, die die Datenbank zurueckgegeben hat virtual void read(std::wstring &str,std::size_t &rows,std::size_t &cols) const =0; virtual void disconnect(); virtual bool isconnected() const =0; }; struct mysql : public datenbank { //mysql implementierung ... }; struct odbc : public datenbank { //odbc implementierung ... };
und dann arbeitest du im Code eben mit einem Pointer/Referenz des Typs Datenbank, auf ein Objekt, von mysql oder odbc (etc.).