Skip to main content

Unused-Design Patterns für Embedded Systeme

Zielgruppe

Softwareentwickler/innen, Softwarearchitekt/innen oder Projektleiter/innen, die objektorientierte Embedded-Anwendungen entwerfen oder deren Qualität verbessern wollen.

Voraussetzungen

Grundlagen der objektorientierten Programmierung, sowie gute Kenntnisse der Programmiersprache C++, wie sie z.B. der Kurs “Objektorientierte Embedded-Programmierung mit C++” vermittelt. Kenntnisse der neueren Sprachstandards (ab C++11) sind NICHT erforderlich!

Erfahrung mit UML-Klassendiagrammen ist vorteilhaft, wird aber NICHT vorausgesetzt, da dieser Kurs auch die dafür notwendigen UML-Kenntnisse vermittelt!

Dauer

5 Tage mit praktischen Übungen bzw. 2 x 3 Tage mit mehr Zeit für die Durchführung der Designübungen. Auf Wunsch kann dieser Kurs auch als 3-tägiger Kompaktkurs mit praktischen Übungen, aber weniger Patterns durchgeführt werden. Der Abschnitt “Kursinhalt” beschreibt die 5- bzw. 6-tägige Vollversion. (Inhalt der Kompaktversion auf Anfrage).

Kursziel

Dieser Kurs zeigt, unter welchen Bedingungen die klassischen Design Patterns der “Gang of Four” (GoF) auch in ressourcelimitierten Embedded-Systemen gewinnbringend eingesetzt werden können. Es wird eine Auswahl von Entwurfsmustern behandelt, die für diesen Zweck besonders geeignet sind. Diese Patterns werden anhand von hardwarenahen oder anderen, für Embedded-Systeme typische Anwendungen vorgestellt. Dabei werden die für die Realisierung dieser Entwurfsmuster notwendigen Klassen und ihre Beziehungen nicht nur prinzipiell auf der Ebene von UML-Diagrammen, sondern anhand von vollständig ausprogrammierten Codebeispielen schrittweise entwickelt. Auf dieser Grundlage wird eine fundierte Beurteilung der Kosten in Bezug auf Speicherplatz und Laufzeit im Verhältnis zum Nutzen durch die Verwendung eines Entwurfsmusters ermöglicht. Unabhängig davon zeigen die Beispiele aber auch, wie die SOLID-Prinzipien der modernen Clean-Code-Programmierung mit den Design Patterns zusammenarbeiten und wie diese zur Qualitätssteigerung des Softwareentwurfs beitragen. Schließlich geht der Kurs auch auf den Speicherplatz- und Laufzeit-Overhead ein, der durch die Verwendung von klassischen Debugmethoden entsteht, und zeigt, wie diese Probleme patternbasiert gelöst werden können. Dadurch wird deutlich, dass die Verwendung von Entwurfsmustern nicht nur zu einer besseren Softwarestruktur, sondern auch zu einem effizienteren Umgang mit den Systemressourcen führen kann, was gerade in Embedded-Systemen besonders wichtig ist.


Inhalt

Einführung

  • Geschichtliche Entwicklung
  • Was ist ein Design Pattern?
  • GoF Design Patterns
  • Typische Probleme in Embedded Systemen
  • Design Patterns in Embedded Systemen

Erzeugungsmuster

  • Beispiel: Motor
  • Interfaces
  • Beispiel: Positionsanzeige für ein Warentransportsystem
  • Wiederverwendung für Flugzeugpositionsanzeige
  • Design Pattern Fabrikmethode
  • Design Pattern Prototyp
  • Design Pattern Abstrakte Fabrik
  • Design Pattern Singleton

Strukturmuster

  • Neue Lösung für Motorbeispiel
  • Design Pattern Adapter
  • Beispiel: Counter-Klassen
  • Design Pattern Dekorierer
  • Multithreading-Beispiel
  • Design Pattern Proxy
  • Design Pattern Fliegengewicht
  • Design Pattern Fassade
  • Design Pattern Kompositum

Verhaltensmuster

  • Beispiel: Timer
  • Design Pattern Beobachter
  • Design Pattern Befehl
  • Beispiel: Zustandsautomat
  • Traditionelle Implementierung in C
  • Portierung nach C++
  • Design Pattern Zustand
  • Beispiel: Benutzerdefinierte Speicherverwaltung
  • Partition und PatitionManager
  • Flexible Speicherverwaltung mithilfe unterschiedlicher Manager
  • Dynamisch änderbare Speicherzuteilungsstrategie
  • Design Pattern Strategie
  • Algorithmus mit festgelegter Struktur
  • Design Pattern Schablonenmethode
  • Design Pattern Memento
  • Design Pattern Zuständigkeitskette
  • Design Pattern Iterator
  • Design Pattern Vermittler

Praktische Übungen

Setzten Sie das Gelernte direkt in die Praxis um.

Der Kursinhalt entspricht nicht ganz dem, was Sie suchen?


What customers say:

"Well-structured from a teaching perspective, and executed with absolute precision!"
"Excellent course instruction!"
"Pleasantly calm, knowledgeable, and open to questions."
"I really liked the explanation of the background."
"With 'Design Patterns for Embedded Systems,' Mr. Nieratschker has developed a highly informative, interactive, and engaging training course. Thanks to the puzzle questions that build on one another, the course feels like a mental scavenger hunt: the Da Vinci Code for programmers."
"I've never taken a course that was so perfectly structured!!! SKT++."
"Clear, visual explanations and a lot of patience when it comes to practical applications."
"A must-read for every object-oriented programmer!"
"A very good approach to deriving the patterns."
"All participants were 'brought up to speed,' since their levels of knowledge varied greatly."
"It really helped me make progress."
"Very good, practical examples."
"The instructor knows how to engage the students."
"Complex topics explained in a way that's super easy to understand."
"Knowledge of the instructor far above the trained theme!"
"The thing I liked most was the instructor's teaching skills!"
"The things I liked most were the teacher's clarity both in presentation and spoken English."
"Examples from real world, not like e.g. wikipedia."
"We were 'forced' to think ... Our attention was up all the time, which was great."
"What I liked in particular was the deep knowledge of the instructor and the sense of humor."
"What I liked in particular was the way we discovered patterns."

SKT Nieratschker · Karl Nieratschker · Joseph-Maria-Lutz-Str. 7 · D-85293 Reichertshausen · Tel. +49 (0) 8441 490210 · office@skt-nieratschker.com