Hallo,
Wann machen Design Pattern im C++ Embedded Umfeld Sinn und wann nicht.
Welch Webseiten oder Bücher sind empfehlenswert?
Was ist eure Meinung hinsichtlich Design Pattern im doch sehr speziellen
Embedded Umfeld?
Der Klassiker zum Nachschlagen wäre das Buch hier. Ist jetzt aber nicht
spezifisch für Embedded:
https://www.amazon.de/Patterns-Elements-Reusable-Object-Oriented-Software/dp/0201633612
Ansonsten hab ich den Eindruck, dass es bei Embedded immer darauf
ankommt, ob man sich ein Pattern leisten kann/will. In der Regel ist das
dann ein Tradeoff zwischen besserer Abstraktion und Flexibilität im Code
und größerem Binary und längerer Laufzeit.
Ein Beispiel:
In der Regel erfordern die Pattern ja immer ein Interface. In C++
bedeutet es, dass man ein vtable hat (Speicher) und beim Aufruf der
Funktion immer über den vtable den Funktionsaufruf macht
(Instruktionen). Die Kosten dafür hängen aber dann von deiner
Architektur und zum Teil vom Compiler ab.
Ich würde im Embedded-Bereich vor allem Pattern einsetzen um die
konkrete Hardware Ansteuerung von der Programmlogik zu entkoppeln, damit
ich meine Programmlogik leicht auf eine andere Plattform mitnehmen kann.
Das soll jetzt aber nicht heißen, dass sie woanders nicht auch sinnvoll
sind.
Hast du sonst ein konkretes Problem oder geht es dir nur allgemein darum
Pattern zu lernen und anzuwenden?
Kein konkretes Problem.
Es geht mir nur allgemein ums bessere Verständnis.
Welches generische Entwurfsmuster passt zu welcher Problemstellung.
Was wären typische Beispiele im Embedded Umfeld.
Hallo,
ein gutes Buch für Entwurfsmuster (Design Pattern) für alle
OOP-Sprachen,
aber auch nicht speziell für Embedded ist dieses
https://www.rheinwerk-verlag.de/entwurfsmuster_3538/
Handelt es sich um Embedded im Allgemeinen? Also eher im Bereich von
Linux, RTOS, o.ä. ? Oder um sehr Hardware-nahe Programmierung mit SPL /
Cube wie bei STM32?
Wie bereits von M.K. B. erwähnt, würde ich auch soweit möglich,
Hardware-Zugriffe von der Programmlogik trennen.
Gruß Leo