Einzelnen Beitrag anzeigen

hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Brauche Objektorientierte Modellierungshilfe :-)

  Alt 19. Jun 2007, 15:53
Ich versuche mal eine Antwort.

Das Klassendesign kann man natürlich noch wesentlich verfeinern (so z.B. eine Basisklasse TKommunikator und dann abgeleitete Klassen wie TUSBKommunikator etc.) Wie stark du das ganze verfeinern willst, musst du während der genauen Spezifikation abschätzen.

Die Hauptklasse sollte deine eigentliche Pruefung sein, auch hier könnte man entsprechend der möglichen Prüfungen das Klassenmodell weiter verfeinern. Zu einer Prüfung gehören nun einmal verschiedene Messgeräte (auch hier wieder Möglichkeiten der Verfeinerung), die entsprechenden Platinen etc. Also so ähnlich, wie du dir das wohl bereits vorgestellt hast. Ansonsten musst du natürlich beachten was der Der_Unwissende gesagt hat.

Male dir die Zusammenhänge und Beziehungen einiger existierender Prüfungen auf, dann kannst du bereits etwas abschätzen was du wirklich brauchst.


So hier mein Vorschlag:
Delphi-Quellcode:

// Kapselung der Kommunikationsarten (aller Geräte)
// Sowohl seriell und USB sollten hier implementiert werden
TKommunikator = class
...
end;

TKalibrator = class
  Kommunikation : TKommunikator;
end;


TMessGeraet = Class
  Kommunikation : TKommunikator;
end;

TPruefling = class
  Kalibrator : TKalibrator;
end;

TPlatine = class
  Kommunikation : TKommunikator;
end;


TPruefung = class
  Pruefling : TPruefling;
  Messgeraet : TMessGeraet;
  Platine : TPlatine;
end;

TPruefung1 = class(TPruefung)
  function Execute() : Boolean;
end;
Würde dann in der GUI in etwa so aussehen:
Delphi-Quellcode:
if cbPruefung1.checked then begin
  oPruef := TPruefung1.Create();
  if oPruef.Execute() then Showmessage('Prüfung 1 bestanden');
  oPruef.Free();
end;
  Mit Zitat antworten Zitat