AGB  ·  Datenschutz  ·  Impressum  







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

Anfängerfragen zu Klassenaufbau

Ein Thema von norwegen60 · begonnen am 4. Nov 2017 · letzter Beitrag vom 5. Nov 2017
 
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Anfängerfragen zu Klassenaufbau

  Alt 5. Nov 2017, 11:27
Ohne mich jetzt ganz tief mit deinem Beispiel Source (natürlich habe ich ihn mir angeschaut ) beschäftigt zu haben werfe ich mal noch die Stichworte Interfaces und - für euch dann auch ganz gut - Factories in den Raum. Zumindest würde ich das für Sinnvoll empfinden, wenn ich mir deine folgende Aussage durchlese:

Zitat von norwegen60:
In deiner Änderung liegt glaube ich ein Missverständnis vor. Die HardwareList kann diverse Messgeräte enthalten. z.B. eins für die Leistungsmessung, eins für die Geschwindigkeits- und Wegmessung, ... Deshalb greife ich nicht über HardwareList[0].Name auf ein Element zu, sondern lasse mir das passende Element über die Funktionen in THardwareList (GetHardwarePower, GetHardware,Speed, ...) ermitteln.
Jeder Test implementiert also das Interface ITest . Dann gibt es noch eine Factory, die dir anhand des Namens oder einer Nummer oder sonst etwas des zu testenden Gerätes die entsprechende Testklasse zurückliefert. Und dann wird euer Code gleich etwas abstrakter, einfacher zu warten und er ist leichter durch neue Tests erweiterbar. Somit würden später dann an wahrscheinlich sehr vielen Stellen auftauchende If-Then-Else Konstrukte verschwinden. Dieses If-Then-Else Konstrukt wäre dann nur noch einmal vorhanden. Und zwar in der Factory.

Wenn dann verschiedene Geräte tiefer gehende Tests benötigen, dann gibt es noch ein erweitertes Interface ITestSpeed welches dann von der betreffenden Klasse implementiert wird. Das Interface selbst kann dann noch von ITest abgeleitet werden. Also so: Interface ITestSpeed(Test)
  Mit Zitat antworten Zitat
 


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