Einzelnen Beitrag anzeigen

Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#1

Ähnliche Funktionen von Klassen - Implementierung?

  Alt 15. Jul 2010, 16:20
Hallo zusammen,

ich habe - bevor ich mich bei meinem aktuellen Programm in eine Sackgasse bewege - eine Frage. In meinem Programm (soll ein Dienstplan für meine Abteilung werden) gibt es 3 Diensttypen, nennen wir sie mal Dienst 1 - 3. Diese greifen jeweils auf eine DB-Tabelle zu (ist Firebird aber in dem Zusammenhang irrelevant). Die Dienste bzw. die Datenbankabfragen der Dienste unterscheiden sich lediglich in den Namen der Datenbankfelder. Wie implementiere ich dies am sinnvollsten? Momentan sieht es im übrigen NICHT so aus, als würde sich die Anzahl der Dienste (also Dienst 4,5,6 etc.) irgendwann vergrößern, eine Garantie habe ich aber dafür nicht. Meine 2 Ideen:

1.) Eine Klasse, im Konstruktor wird die Dienstart (z.B. als Integer) übergeben. Die Datenbankabfragen (genauer die Feldnamen) werden dann ja nach Integer-Wert in den entsprechenden Routinen z.B. mittels "CASE DienstArt OF [...]" verändert.

2.) Eine abstrakte Klasse, wobei ich für die verschiedenen DienstArten jeweils eine eigene KLasse davon ableite und die Datenbankabfragen hier jeweils getrennt implementiere.

Für 1. spricht meiner Meinung die einfachere Implementierung. Sollte sich irgendwann einmal die Abfrage(n) ändern, müsste ich nur diese eine Klasse verändern, bei 2. wären die (wie beschrieben) sehr ähnlichen Abfragen - da abstrakt deklariert - alle zu ändern.

Für 2. spricht für mich eigentlich nur die Einhaltung des OOP-Prinzips, die Pflege scheint mir hier deutlich aufwendiger

Ich hoffe, Ihr könnt meinem Gedankengang folgen bzw. vielleicht habt ihr ja noch eine viel einfachere Idee.

Grüsse,

Michael
Michael Kübler
  Mit Zitat antworten Zitat