Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#10

AW: vererbende Klasse oder Interface? oder beides?

  Alt 26. Okt 2013, 13:44
Ich würde Datentransport und Datenaufbereitung strikt voreinander trennen.
Das bedeutet dass es eine Klasse für GPIB gibt die rein nur für den Datentransport zuständig ist
und eine weitere (Basis-)Klasse TMessGeraet die für die Aufbereitung der Daten verantwortlich ist.

Dabei benützt die Klasse TMessGeraet ihren Kollegen TGPIB. (Assoziation).

Es liegt also weder eine Vererbung vor noch benötigt man ein Interface.
Man könnte sogar eine weitere Klasse für das Datenprotokoll einsetzen falls ein einheitliches Protokoll wie CS-80 (Command Set 80) benützt wird.

Man kann diesen Ansatz mit folgender Kette vergleichen:
Code:
TDatabase <- TQuery <- TDBEdit
TDatabase sorgt für den Datentransport
TQuery entspricht praktisch dem Protokoll auf Datenbankebene und
TDBEdit repräsentiert die Daten auf Anwendungsebene.

Jede Klasse dient nur einem bestimmten Zweck wobei die Klassen miteinander kollaborieren und in einer "benützt"-Beziehung stehen.
Wichtig ist noch die Pfeilrichtung der Abhängigkeiten zu beachten.
Die Klasse TGPIB darf die Klasse TMessGeraet nicht kennen; umgekehrt kennt und benützt aber TMessgeraet die Klasse TGPIB.
fork me on Github

Geändert von sx2008 (26. Okt 2013 um 13:49 Uhr)
  Mit Zitat antworten Zitat