Wenn du nach der schlausten Lösung fragst, dann erstellst du dir Repositories, wo es dann der Anwendung egal ist, wo die Daten herkommen (Hauptsache die kommen).
Delphi-Quellcode:
IFooRepository = interface
function Find( AFooId : Integer ) : TFoo;
function FindAll : TArray<TFoo>;
function FindByBar( ABar : string ) : TArray<TFoo>;
...
end;
Jetzt hängt es nur noch an der Implementierung, ob die Daten aus einer Datenbank, einer simplen Datei, von einem Webdienst oder einfach zufällig gebildet werden ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)