So pauschal kann man schlecht sagen, was die beste Herangehensweise ist.
Es ist auch davon abhängig, die Dein bisheriges Projekt aufgebaut ist (eine Datenbank und welche - welche Datenbankkomponenten (DBEdit?)), wie die Daten bisher im Formular eingebunden werden, wie Berechnungen usw erfolgen.
Grundsätzlich könnte man sagen, dass die gesamte BL ohne ein Formular funktionieren sollte.
Dann könnte man sagen: BL.BerechneAlleKundenAlter oder BL.SucheAlleKundenMit('A') oder BL.Kunde(1).AddiereZuKonto(1000).
Vom Formular aus ruft man dann nur noch die definierten Schnittstellen auf.
Das Formular muss die Klasse TKunde und TKonto dann nicht kennen. Es muss nur wissen, wo es die Daten zur Darstellung her bekommt, aber nichts von Berechnungsformeln usw.
"BL" könnte eine Klasse sein, oder ein eigenes Projekt in einer Projektgruppe oder einfach ein DataModule (wobei das dann keine richtige Trennung von der
GUI mehr ist) oder sogar eine
DLL.
Die Frage ist dann wieder, wie man der
GUI beibringt, welche Daten sie anzeigen soll.
Das sollte möglichst einfach und flexibel sein und genau klemmt derzeit noch die Delphi-Säge.