Hallo Gemeinde, ich würde gerne eine Dikussion theoretischer Natur anstoßen, auch in Anlehnung an die Diskussionen, die gerade über C++ laufen. Die Kernfrage die sich mir stellt ist, wie weit kann man bei der Konzeptionierung und Architektur eines System vorraussehen und gibt es vielleicht "abstrahierte Denkweisen", die zur Lösung führen? konkretes Beispiel: Ich habe ein System, bei dem es "Pipelines" gibt, bei denen oben ein Wert reingefüttert wird, der von hinzulinkbaren Modulen verändert werden kann und unten wieder rauskommt. Zu diesen Modulen gehört z.B. eines aus der digitalen Ecke, welches auf einen Inputpin "angesetzt" werden kann und abhängig von dessen Zustand auf den durchgeschobenen Wert parametrierbare Werte aufaddiert. Einen für "aktiv" einen für "inaktiv". Letztlich lassen sich über diesen Ansatz durch einbinden mehrer dieser Module hintereinander Schalter mit unterschiedlich vielen Schaltpositionen erfassen, wenn man überall die "inaktiv Position" = 0 lässt (die braucht nur bei AN/AUS). Ich habe also keine systembedingte minimale oder maximale Anzahl von Schaltpositionen. Soweit hatte ich im Vorhinein geplant und fand das ganz clever. Letztenendes ist es aber so, dass der Schalter, den ich in meiner Bedienplatte eingebaut habe vom System nicht als Schalter im Sinne einer Einheit erfasst wird, sondern im Grunde als Sammelsorium von Digitaleingängen. War erstmal nicht schlimm, bis ein Anwendungsfall auftrat, wo es doch nervte. Also bin ich dabei viel umzubauen, habe eine eigene Klasse "Switch" entworfen, der ich im Konstruktor die Anzahl an Positionen mitteile woraufhin entsprechend viele structs allokiert werden, in denen ich jeweils eine Pinnummer definieren kann. Die Reihenfolge in der allokiert wird entspricht letztlich der Position. Bei Aufruf werden die structs durchitteriert; bei der ersten wo der definierte Pin gesetzt ist, wird das "Itterierungsargument" zurückgegeben. Zum Glück ist es ein Privatvergnügen und keine Produktlinie, weil ich ne ganze Menge umstrukturieren muss. Im Nachinhein sehe ich ein, dass es im Sinne der OOP Philosophie ein fehler war, Schalter nicht direkt als Einheit und damit als Objekt zu sehen und zu implementieren - aber in dieser Art wird sicher auch weniger offensichtlichere Fälle geben. Für diejenigen, die bis hier gelesen haben komme ich auf die Eingangsfrage zurück, ob es Strategien oder abstrakte Denkansätz gibt, die sowas im Vorhinein aufdecken? viele Grüße!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.