Design Patterns Schulung (nicht nur) für Embedded-Systeme (Seminar)
Datum:
06.07.2026 - 10.07.2026
Veranstaltungsort:
München, MicroConsult
Beschreibung:
MicroConsult Academy GmbH
Sie können abschätzen, unter welchen Bedingungen klassische Entwurfsmuster - Design Patterns - auch in ressource-limitierten Embedded Systemen gewinnbringend eingesetzt werden können. Sie kennen die Muster, die sich in typischen Anwendungen von Embedded Systemen besonders gut eignen, und können nicht nur deren Speicherplatz- und Laufzeitkosten beurteilen, sondern diese auch durch Laufzeitmessungen überprüfen. Sie wissen, welche häufig verwendeten Lösungsansätze besser vermieden werden sollten ("Anti-Pattern"). Außerdem kennen Sie die Einsatzmöglichkeiten von Entwurfsmustern zum Zweck der Fehlersuche und können diese anwenden.
Inhalt
Einführung in die Design Patterns (Entwurfsmuster)
Geschichtliche Entwicklung
Was ist ein Entwurfsmuster?
GoF Entwurfsmuster (GoF Design Pattern)
Typische Probleme in Embedded-Systemen
Entwurfsmuster (Design Patterns) in Embedded Systemen
Erzeugungsmuster
Beispiel: Applikation zur Steuerung eines Motors
Flexibles Design auf Basis von Schnittstellen (Interfaces)
Praktische Übung: Messung der Speicherplatz- und Laufzeitkosten einer Schnittstelle
Statische Polymorphie und dynamische Polymorphie im Vergleich
Beispiel: Positionsverfolgung für ein Warentransportsystem
Wiederverwendung des Positionsverfolgungssystems für Flugzeuge
Positionsverfolgung auf Basis des Entwurfsmusters "Abstrakte Fabrik" (Design Pattern "Abstract Factory")
Fabrikerzeugung mithilfe des Entwurfsmusters "Singleton" (Design Pattern "Singleton")
Strukturmuster
Beispiel: Applikation zur Steuerung eines Motors
Alternatives Design auf Basis des Entwurfsmusters "Adapter" (Design Pattern "Adapter")
Workshop-Übung: Debugging einer Counter-Applikation
Lösung mithilfe des Entwurfsmusters "Dekorierer" (Design Pattern "Decorator")
Beispiel: Multithread-Applikation
Identifikation der Probleme typischer Lösungsansätze
Flexibler Lösungsansatz auf Basis des Entwurfsmusters "Proxy" (Design Pattern "Proxy")
Schutz-Proxy, Virtueller Proxy, Remote Proxy
Smart-Reference / Smart-Pointer
Verhaltensmuster
Beispiel: Behandlung von Timer-Ereignissen
Flexible Lösung auf Basis des Entwurfsmusters "Beobachter" (Design Pattern "Observer")
Praktische Übung: Anwendung des Beobachter-Musters in einer Aufzug-Steuerung
Fallstricke beim Design bzw. der Implementierung von Interfaces
"Horizontale" und "vertikale" Interfaces
Ereignisbehandlung auf Basis des Entwurfsmusters "Befehl" (Design Pattern "Command")
Praktische Übung: Anwendung des Befehlsmusters in der Aufzug-Steuerung
Beispiel: Traditionelle Implementierung eines Zustandsautomaten in C
Objektorientierte Lösung mithilfe des Entwurfsmusters "Zustand" (Design Pattern "State")
Praktische Übung: Anwendung des Zustandsmusters in der Aufzug-Steuerung
Beispiel: Benutzerdefinierte Speicherverwaltung
Partitionen und deren Verwaltung mithilfe von Partition-Managern
Flexible Speicherverwaltung auf Basis des Entwurfsmusters "Strategie" (Design Pattern "Strategy")
Praktische Übung: Anwendung des Strategiemusters in der Aufzug-Steuerung
Beispiel: Strategien mit gemeinsamer Grundstruktur
Realisierung auf der Basis des Entwurfsmusters "Schablonenmethode" (Design Pattern "Template Method")
Weitere Muster
Entwurfsmuster "Fabrikmethode" (Design Pattern "Factory Method")
Entwurfsmuster "Prototyp" (Design Pattern "Prototype")
Entwurfsmuster "Fassade" (Design Pattern "Facade")
Entwurfsmuster "Kompositum" (Design Pattern "Composite")
Entwurfsmuster "Memento" (Design Pattern "Memento")
Entwurfsmuster "Zuständigkeitskette" (Design Pattern "Chain of Responsibility")
Entwurfsmuster "Fliegengewicht" (Design Pattern "Flyweight")
Entwurfsmuster "Iterator (Design Pattern Iterator)
Entwurfsmuster "Vermittler" (Design Pattern "Mediator")
Praktische Übungen in der Design Pattern Schulung
Die Übungen werden mit der Plattform IAR Embedded Workbench und dem Designwerkzeug Enteprise Architect durchgeführt
MicroConsult Plus:
Zusätzlich zu den praktischen Übungen in den einzelnen Kursmodulen gewinnen Sie folgende Praxiskenntnisse:
Wie führe ich Speicherplatz- und Laufzeitmessungen durch?
Wie kann ich in Projekten Entwurfsmuster als Mittel zur Steigerung der Softwarequalität einsetzen?
Wie kann ich Entwurfsmuster zu Debug-Zwecken verwenden?
Wie kann ich gegebene Projekte durch die Anwendung von Entwurfsmustern weiterentwickeln?