"best practice" gibt es genug. Sie hängen von der Abstraktionsebene ab. TQuery, Datasnap, ORM, REST das sind unterschiedliche Abstraktionsebenen. Auf/Mit allen kann man gut arbeiten und Aufgaben lösen. Für alle gibt es "best practice".
Für neue Projekte setze ich ausschließlich Aurelius, ein ORM von TMS ein.
Unabhängig davon gibt es wohl grundsätzliche "best practice":
- UI und Logik trennen
-
Unit-Tests
- SOLID
Aber das ist dann eine andere Sache.