AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Trennung von Logik und Oberfläche

Ein Thema von banaguitar · begonnen am 29. Apr 2024 · letzter Beitrag vom 30. Apr 2024
Antwort Antwort
banaguitar

Registriert seit: 19. Feb 2024
16 Beiträge
 
#1

Trennung von Logik und Oberfläche

  Alt 29. Apr 2024, 04:48
Hallo,

ich habe mal ein Mini-Beispiel-Projekt angehängt, da ich Probleme habe, die Logik von der Oberfläche zu trennen.
Mag vielleicht jemand mal reinschauen und verbessern? Das wäre cool.

Es geht einfach nur um eine (statische) Image-Komponente, auf der ich mittig einen Bitmap-Layer lege. Zur Berechnung benötige ich eine Hilfsfkt., für die ich die Höhe und Breite der Image-Komponente,
aber auch die Größe der Bitmap-Grafik benötige. Das alles von der Geschäftslogik zu trennen, damit habe ich meine Probleme.


Vielen Dank!
Angehängte Dateien
Dateityp: zip Sample-Project.zip (565,5 KB, 28x aufgerufen)

Geändert von banaguitar (29. Apr 2024 um 09:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.351 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Trennung von Logik und Oberfläche

  Alt 29. Apr 2024, 09:03
Alles (außer dem Dateinamen des Bildes) in dem Projekt ist Oberfläche und Oberflächenlogik. Die Geschäftslogik bestimmt (oder stellt der Oberflächenlogik bereit), was dann dort angezeigt wird. Die Geschäftslogik sagt aber nicht wie und auf welcher Komponente, kennt diese also gar nicht.

Allgemein:
Du solltest den Quelltext einmal formatieren lassen. (Ansicht --> Editor --> Quelltext formatieren, oder mit Strg + D)
So ist dieser nur schwer les- und überschaubar.

Am Handy kann ich den Quelltext gerade nicht konkret bearbeiten. Vielleicht hat ja jemand anderes konkrete Vorschläge, sonst schaue ich rein sobald ich kann.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
banaguitar

Registriert seit: 19. Feb 2024
16 Beiträge
 
#3

AW: Trennung von Logik und Oberfläche

  Alt 29. Apr 2024, 10:03
Danke für Deine Erklärungen! Ich habe den Code formatiert und neu hochgeladen.
Es wäre sehr nett von Dir und natürlich auch von allen anderen, die Lust haben, meinen Quelltext zu verbessern.
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.175 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Trennung von Logik und Oberfläche

  Alt 30. Apr 2024, 08:13
Willkommen in der Welt von MVVM, MVC etc.

"Trennung von Oberfläche und Logik" sagt sich so leicht. :-/
Gehört die Anzeige des Bilds wirklich zur Logik? Ich sehe die Entscheidung, welches Bild angezeigt werden soll, in der Logik, aber die tatsächliche Anzeige eher bei der Oberfläche. Sonst läuft man Gefahr, Kopfstände zu machen, nur um die Oberfläche von allem anderen zu trennen und landet bei einer Logik, die eh dauernd auf der Oberfläche herumfummelt, nur halt indirekt.

Vielleicht sind diese Links informativ:
https://www.google.com/search?q=delphi+mvvm

Und dieser hier ist auch gut:
https://www.youtube.com/watch?v=virHepvMetw
  Mit Zitat antworten Zitat
banaguitar

Registriert seit: 19. Feb 2024
16 Beiträge
 
#5

AW: Trennung von Logik und Oberfläche

  Alt 30. Apr 2024, 09:30
Danke, ich finde das auch nicht so einfach zu trennen...
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.383 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Trennung von Logik und Oberfläche

  Alt 30. Apr 2024, 10:51
Hier nun mein Senf.
Also Trennung von UI und Logik finde ich recht einfach. UI ist in der .dfm und Logik in der .pas
Im Ernst: es kommt darauf an was man unter Logik versteht. Sebastian hat ja schon den Begriffe Oberflächenlogik und Geschäftslogik ins Spiel gebracht. Ich finde es wichtig alles zu trennen, wobei ich die Abtrennung der Geschäftslogik für wesentlich wichtiger halte.

Bei DDD wird aufgeteilt in UI, Domain und Infrastrukture.

Das was sich oben in Sample-Project.zip in der PosLayer.pas befindet ist etwas was ich der Oberflächenlogik zuordnen würde. Und das ist nach meiner Einschätzung schon recht gut. Das schlimmste für mich daran ist die Reihenfolge in bei den uses.
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz