Forum: PC-Programmierung C++ Embedded Design Pattern


von Kevin (Gast)


Lesenswert?

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?

von M.K. B. (mkbit)


Lesenswert?

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?

von Kevin (Gast)


Lesenswert?

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.

von Leo (Gast)


Lesenswert?

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.
von Bert3 (Gast)


Lesenswert?

fuer C++/Template Hardware-Abstraktion: 
https://github.com/kvasir-io/Kvasir

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.
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
Noch kein Account? Hier anmelden.