Hallo,
seit ein paar Tagen bin ich nun dabei, die hier vorgeschlagenen Methoden der Kommunikation zwischen
GUI und Logik auszuprobieren. Dabei wird für mich immer deutlicher, dass eine absolute Trennung garnicht möglich ist, wenn die Logik während der Abarbeitung des Auftrages, der vom
GUI erteilt wurde, Informationen an das
GUI übermitteln bzw. Aktionen des
GUI auslösen soll....
PS:
Die oder
Das GUI? Nach den geltenden Regeln heißt es doch im Deutschen
das Interface? Oder doch nicht??
Delphi bietet eben keine interne Lösung, um eine Zwei-Wege-Datenbindung zu ermöglichen (abgesehen von den Livebindings
).
Möglichkeiten, so etwas zu programmieren gibt es mehrere. Mir gefällt es aber nicht, irgendwelche Methoden händisch zu schreiben, die den Austausch abwickeln.
Statt dessen wünsche ich mir ein Framework, dass das abstrakt im Hintergrund erledigt.
Z.B. habe ich in der BL Personen in einer Liste "Familie".
Dann will in der
GUI (für mich: "DIE Schnittstelle") eine Listbox binden an "Familie" und dort einstellen, dass die Items die Eigenschaft "Vorname" verwenden sollen (natürlich etwas verkürzt dargestellt).
Jetzt soll die Liste
Zitat:
Karl
Hilda
Phillip
anzeigen.
Ist in der Listbox oder der Liste keine Sperre eingestellt, muss diese auch bearbeitet werden können (ähnlich DBControls).
Dazu müssen BL und
GUI sich austauschen können, ohne dass beide sich wirklich kennen.
Es muss eine Kommunikationsschnittstelle geben, die mit beiden Seiten klar kommt, ohne selbst wieder etwas von BL und
GUI zu kennen. Sie muss also sehr abstrakt arbeiten.
Ich habe mich mal an einem Framework versucht:
https://www.delphipraxis.net/173360-...framework.html
Du kannst ja mal etwas stöbern. Aus meiner Sicht war der Ansatz schon sehr gelungen.
Das Projekt habe ich aber eingestellt und arbeite an etwas neuem (was noch länger dauern wird, wovon ich aber die grundsätzliche Funktionalität schon mal festgestellt habe).