Also ich habe bisher kein passendes Beispiel gefunden, wie man die Architektur aufbauen könnte.
Ich habe mir folgendes vorgestellt:
Es gibt eine abstrakte Klasse DB_Commands, in der erstmal alle Sql-befehle aufgelistet sind. Zum Beispiel gibt es Funktionen wie getAlleKunden oder getMitarbeiter(Suchtext: string).
Angenommen, die Sql-Syntax von getAlleKunden ist auf alle zu unterstützenden Datenbanken übertragbar, wird sie in dieser abstrakten Klasse implementiert.
Angenommen, die Sql-Syntax von getMitarbeiter muss etwas umformuliert werden für eine oracle-Datenbank, so erstelle ich eine neue Klasse OracleDB und erbe die Methoden aus DB_Commands. Nun würde ich getMitarbeiter überschreiben, da ich hier eine spezielle Lösung benötige.
Ich hätte also für jede Datenbank eine eigene Klasse, in der nur die Sql-Befehle implementiert sind, die nicht allgemein kompatibel sind.
Was haltet ihr von dieser Lösung? Ist es ein guter Ansatz?
Danke, Andy