Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#5

AW: Trennung von GUI und Logik, wie geht ihr vor?

  Alt 19. Aug 2011, 17:07
Ok, damit sieht dein ButtonOnClick so aus oder?

Delphi-Quellcode:
procedure TForm1.ButtonAdditionClick(Sender: TObject);
begin
  FAddition.Zahl1 := StrToIntDef(EditZahl1.Text, 0);
  FAddition.Zahl2 := StrToIntDef(EditZahl2.Text, 0);
  FAddition.Addition;
  LabelErgebnis.Caption := IntToStr(FAddition.Ergebnis);
end;
Dies sollte doch eigentlich auch vermieden werden, wegen Spaghetticode.
Nein, das sollte deshalb vermieden werden, weil das Form um himmels willen niemals im Leben nicht die Klasse TAddition kennen darf.

Es geht ja gerade darum, die Logik vom GUI zu trennen. Deswegen darf die GUI die Logik nicht kennen. Und die Logik das GUI auch nicht.

Dazwischen muss etwas geschaltet werden, das als Vermittler agiert. Also z.B. klassisches MVC: Model (Logik), View (Form), Controller (kennt beides), der Controller fehlt hier komplett und wäre dann das, was die Logik-Klasse mit ihren Properties an die ein- bzw. Ausgabefelder am Form und die Ausführung der Methode an deren Button event bindet.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat