Einzelnen Beitrag anzeigen

VizeTE

Registriert seit: 31. Dez 2002
178 Beiträge
 
Delphi 5 Enterprise
 
#1

Stilfrage - trennen "verarbeitenden Code" und Graf

  Alt 8. Apr 2005, 15:50
Hallo Leute,

für die Wiederverwendbarkeit von Code ist es ja bekanntlich sehr förderlich wenn man die Benutzerschnittstelle (Formulare, Dialoge, ...) vom eingentlichen verarbeitenden Code trennt.
Da habe ich so kleine Stilprobleme und würde mich freuen wenn ihr mich an eurer Erfahrung teilhaben laßt.

Mal etwas konrekter:

Ich habe mein Hauptformular. Dies benutzt für die eigentlichen Arbeiten ein Objekt. Nun ist es aber hin und wieder erforderlich, daß der Benutzer für die Arbarbeitung Daten eingeben muß. Da das Benutzerinterface vom Code getrennt werden soll kommt es nicht in Frage, daß das Objekt für die Dialoge verantwortlich ist. Ich habe nun 3 Lösungsansätze wobei ich aber von keinen der Möglichkeiten vollends überzeugt bin.

1. Ich definiere ein Event (procedure of object), welches im Hauptformular bearbeitet wird. Dort wird der benötigte Dialog aufgerufen.
Vorteil:
- Das Objekt muß sich nicht im entferntesten um den Dialog kümmern
Nachteile:
- die Parameterlisten können recht lang werden
- die Events müssen im Hauptformular behandelt werden

2. Ich übergebe beim Aufruf einer Methode des Arbeitsobjektes die erforderliche Dialogklasse. In der Methode kann mit dem Dialog gearbeitet werden
Vorteile:
- ich habe nicht das Parameterproblem
- der Dialog kann ausgetauscht werden sofern die Schnittstelle kompatibel
Nachteile:
- die Trennung von Interface und Code wird aufgeweicht
- ich muß bei jedem Aufruf alle nötigen Dialoge übergeben, auch wenn diese nur manchmal tatsächlich benutzt werden

3. Ähnlich Ansatz 2 aber das Objekt bekommt eine Eigenschaft pro Dialog. Im Hauptformular wird der Dialog an das Objekt "angehangen".
Vorteile:
- ebenfalls wird das Parameterproblem umgangen
- Dialog kann ausgetauscht werden sofern die Schnittstelle kompatibel
Nachteile:
- der Dialog muß angehange sein damit der Ablauf funktionieren kann
- Trennung von Interface und Code wird auch hier aufgeweicht

So ich hoffe ihr versteht was ich meine. Für Anregungen, Meinungen usw. bin ich dankbar.

Ciao
  Mit Zitat antworten Zitat