Ich bin am Anfang eines Projekts, bei dem von mehreren Sensoren gelesen und die Daten von diesen Sensoren zusammengeführt werden. Insgesamt werden 4 Sensoren über USB und eine Webcam, ebenfalls über USB, angeschlossen.
Einer meiner Kollegen ist sehr lautstark darüber, wie schön es ist, Programme in kleinere Teile aufzuteilen und sie über das Netzwerk kommunizieren zu lassen. Er schlägt vor, dass wir für jeden Sensor (oder jede Kamera) eine ausführbare Datei und dann eine zentrale Steuerungsanwendung haben sollten, die mit den anderen kommuniziert.
Ich mag diese Idee intuitiv nicht. Der betreffende Kollege arbeitete an einem anderen Projekt, das diesen Ansatz verwendete und endlose Probleme hatte, die schwer zu finden und zu debuggen waren.
Es scheint kein sehr staatliches Design zu sein und erscheint mir etwas unelegant. Ich möchte eine Bibliothek für den Umgang mit jedem Sensor schreiben und sie möglicherweise in separaten Threads ausführen.
Es sollte auch darauf hingewiesen werden, dass die Berechnungen, die wir durchführen müssen, Aktualisierungen für ein anderes System bei fast 1000 Hz liefern. Das Hinzufügen einer Ebene der Netzwerkkommunikation scheint einen potenziellen Engpass hinzuzufügen.
Es würde mich interessieren, die Meinungen anderer Leute dazu und vielleicht einige Hinweise zu dieser Art von Praxis zu hören.