Forum: Algorithmen, Datenstrukturen und Klassendesign
by sx2008,
13. Sep 2011
Ich halte das für den falschen Weg; siehe oben!
Eine Threadklasse darf kein Interface eines Business-Objekts implementieren, denn Threads sind logisch etwas anderes als Business-Objekte.
Im Moment mag deine Lösung funktionieren; später wirst du merken, dass da etwas nicht richtig läuft.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by sx2008,
13. Sep 2011
Ich glaube, du mutest deiner Thread-Klasse zuviel zu.
Anstatt das Interface IDeviceController zu implementieren würde es doch ausreichen,
wenn die Threadklasse von Aussen eine Instanz von IDeviceController zugewiesen bekommt.
Hier mal stark vereinfacht die Unterschiede:
// dein Vorschlag
TDeviceController = class(TThread, IDeviceController)
private
// hier müssen alle Methoden von...