Hi!
Bei meinem aktuellen Projekt habe ich mal eine Frage zum Konzept. Und zwar baue und programmiere ich momentan eine Klimasteuerung. Dazu habe ich softwareseitig ein paar Datenbäume, die untereinander kommunizieren müssen. Der erste enthält alle Geräte, Sensoren, usw. in einer nach Typ sortierten Liste. Der zweite gruppiert die Geräte mit den Sensoren zu Regelzonen und sorgt für die eigentliche Steuerung.
Damit man das System mit einem GUI oder per Netzwerk (Client-Server) betreiben kann, gibt es die Möglichkeit, Interfaces in das System "einzuklinken". Diese Interfaces sollen jetzt über Statusänderungen, neue Messwerte, etc. informiert werden.
Mein Konzept dazu:
Eine Klasse
bekommt Event-Objekte aus diesen Datenbäumen "zugeschickt", wenn sich ein Gerätestatus ändert. Die Interfaces können sich für die Ereignisse, die sie brauchen, beim EventDistributor anmelden.
Wenn beim EventDistributor ein neues Ereignis eingeht, wird es in eine Warteliste eingereiht. Ein zweiter Thread beobachtet diese Warteliste. Enthält sie ein oder mehrere Events, dann schaut der Thread nach, welche Interfaces "Interesse" angemeldet haben und schickt die Events entsprechend weiter.
Was haltet ihr von der Idee? Ist das so gut oder gibt es da vielleicht noch bessere Lösungen?
LG
renwal
Bei meinem aktuellen Projekt habe ich mal eine Frage zum Konzept. Und zwar baue und programmiere ich momentan eine Klimasteuerung. Dazu habe ich softwareseitig ein paar Datenbäume, die untereinander kommunizieren müssen. Der erste enthält alle Geräte, Sensoren, usw. in einer nach Typ sortierten Liste. Der zweite gruppiert die Geräte mit den Sensoren zu Regelzonen und sorgt für die eigentliche Steuerung.
Damit man das System mit einem GUI oder per Netzwerk (Client-Server) betreiben kann, gibt es die Möglichkeit, Interfaces in das System "einzuklinken". Diese Interfaces sollen jetzt über Statusänderungen, neue Messwerte, etc. informiert werden.
Mein Konzept dazu:
Eine Klasse
Code:
EventDistributor
Wenn beim EventDistributor ein neues Ereignis eingeht, wird es in eine Warteliste eingereiht. Ein zweiter Thread beobachtet diese Warteliste. Enthält sie ein oder mehrere Events, dann schaut der Thread nach, welche Interfaces "Interesse" angemeldet haben und schickt die Events entsprechend weiter.
Was haltet ihr von der Idee? Ist das so gut oder gibt es da vielleicht noch bessere Lösungen?
LG
renwal