AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Trennung von GUI und Logik

Ein Thema von Maekkelrajter · begonnen am 28. Apr 2019 · letzter Beitrag vom 2. Mai 2019
Antwort Antwort
Seite 3 von 3     123
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
26.801 Beiträge
 
Delphi 10.3 Rio
 
#21

AW: Trennung von GUI und Logik

  Alt 1. Mai 2019, 17:43
Wieso sollte sie? Die Darstellung muss die Logik kennen, aber nicht umgekehrt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
3.681 Beiträge
 
Delphi XE3 Ultimate
 
#22

AW: Trennung von GUI und Logik

  Alt 1. Mai 2019, 18:17
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).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.791 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#23

AW: Trennung von GUI und Logik

  Alt 1. Mai 2019, 22:19
Hallo,

https://www.bing.com/videos/search?q...1&&FORM=VDRVRV

Vielleicht hilft das Video weiter.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
1.972 Beiträge
 
Delphi 10.3 Rio
 
#24

AW: Trennung von GUI und Logik

  Alt 2. Mai 2019, 05:29
Oder das hier.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.146 Beiträge
 
Delphi 10.1 Berlin Professional
 
#25

AW: Trennung von GUI und Logik

  Alt 2. Mai 2019, 06:18
Moin...
Zitat:
Die oder Das GUI?
... "die" https://de.wikipedia.org/wiki/Grafis...berfl%C3%A4che
Zitat:
Hier meine Implementierung eines Update - Events, das tadellos funktioniert.
...das ist der Standard für ein Event für den Austausch von Daten an die GUI.
Zitat:
Ich weiß nicht, ob es nicht vielleicht sinnvoller wäre ein Ereignis pro GUI Element
zu haben?
...eher nicht. Mache ein Event für eine "Aufgabe" ("Laden des Auftrages" z.B.). Für die Aktualisierung einer Progressbar ("Zeige Status Auftrag") hast du ein Event für ein Control.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf