C++ Embedded Design Pattern

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?
Gast
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.
Gast
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
Beitrag #5142595 wurde von einem Moderator gelöscht.
Beitrag #5143768 wurde von einem Moderator gelöscht.
Beitrag #5144962 wurde von einem Moderator gelöscht.
Beitrag #5144991 wurde von einem Moderator gelöscht.
Beitrag #5144994 wurde von einem Moderator gelöscht.
Beitrag #5145000 wurde von einem Moderator gelöscht.
Beitrag #5145227 wurde von einem Moderator gelöscht.
Beitrag #5145784 wurde von einem Moderator gelöscht.
Beitrag #5145801 wurde von einem Moderator gelöscht.
Beitrag #5145935 wurde von einem Moderator gelöscht.
Beitrag #5145960 wurde von einem Moderator gelöscht.
Beitrag #5145971 wurde von einem Moderator gelöscht.
Beitrag #5148065 wurde von einem Moderator gelöscht.
Beitrag #5149294 wurde von einem Moderator gelöscht.
Beitrag #5149359 wurde von einem Moderator gelöscht.
Beitrag #5149380 wurde von einem Moderator gelöscht.
Beitrag #5149415 wurde von einem Moderator gelöscht.
Beitrag #5153205 wurde von einem Moderator gelöscht.
Beitrag #5153249 wurde von einem Moderator gelöscht.
Beitrag #5153366 wurde von einem Moderator gelöscht.
Beitrag #5153412 wurde von einem Moderator gelöscht.
Beitrag #5153669 wurde von einem Moderator gelöscht.
Beitrag #5153953 wurde von einem Moderator gelöscht.
Beitrag #5158696 wurde von einem Moderator gelöscht.
Beitrag #5159357 wurde von einem Moderator gelöscht.
Beitrag #5161196 wurde von einem Moderator gelöscht.
Beitrag #5165585 wurde von einem Moderator gelöscht.
Beitrag #5166156 wurde von einem Moderator gelöscht.
Beitrag #5167773 wurde von einem Moderator gelöscht.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.