Normal ist das Programm von der Datenbank unabhängig.
Du solltest Funktionen aufrufen welche sinngemäß sagen:
Code:
HoleKunde()
SpeichereKunde()
LöscheKunde()
Generell sollte es deinen Programm egal sein, was innerhalb der Funktionen passiert.
Hauptsache deine Kundenobjekte werden gefüllt.
Wenn du diese Funktionen nun über ein Interface oder in einer passenden Objekt Vererbung nutzt,
dann lässt sich die Datenbank einfach austauschen.
Delphi-Quellcode:
TBasisPersistenz = class
function HoleKunde(Kundennummer: cardinal): TKunde; abstract;
procedure SpeichereKunde(K:TKunde); abstract;
procedure LöscheKunde(K:TKunde); abstract;
end;
TMSSQL = class(TBasisPersistenz);
TRESTSQL = class(TBasisPersistenz);
TMYSQL = class(TBasisPersistenz);
Mit einem Interface sieht das leicht anders aus, funktioniert aber genau so.
Ein Interface kann bei
Unit-Testing Vorteil haben.
Vorteil der Methode, du kannst z.B. auch REST-Services nutzen.
Einfach die Klasse austauschen und die Welt zum laden, löschen und speichern ist offen.