Follow-up from "Resolve "Refactor project structure""
The following discussion from !118 (merged) should be addressed:
-
@6zapatka started a discussion: (+1 comment) Das stand nicht explizit im Entwurf im Wiki, ich habe mir aber zu diesem Fall Gedanken gemacht. Wenn die Sensoren schon beim Start feststehen (wie hier), sollte die Datasource schon im Konstruktur die bereitgestellten Sensoren registrieren. Vorteile:
- Auch wenn der Sensor noch keine Daten geliefert hat, ist er dem SensorProvider bekannt. So können Ausfälle besser erkannt werden.
- Man kann die Readings direkt pushen, ohne dass die dynamische Registrierung (notify()) durchlaufen werden muss. Die Performance wird dadurch erhöht.
Umgesetzt werden kann dies indem der RandomSensorService notify() im Konstruktor für jeden emulierten Sensor (der enabled ist) aufruft. Wenn ein Nutzer aber seine 3 eigenen Sensoren ankoppeln möchte, ist dies auch sinnvoll. Für die anderen Datasources ist dies derzeit nicht möglich, da durch die Nutzung externer APIs die Sensoren erst zur Laufzeit feststehen.