C++ Design Patterns und Idiome
Kursziele
Entwurfsmuster (Design Patterns) sind bewährte, kontextunabhängige Lösungen für wiederkehrende Entwurfsprobleme und vereinfachen den Entwicklungsprozess. Das Seminar behandelt für C++ spezifische Muster und Idiome sowie die zentralen Entwurfsmuster der ›Gang of Four‹ (GoF). Übungen mit Fallbeispielen vertiefen das Verständnis für die zugrunde liegenden objektorientierten Konzepte. Verweise zum Mustergebrauch der C++ Standard Template Library (STL) ermöglichen weitere praktische Einsatzgebiete. Die Teilnehmer trainieren vor allem, nicht nur in einzelnen Klassen, sondern in ganzen Lösungsstrukturen zu denken und zu modellieren.
Zielgruppe
Software-EntwicklerEmpfohlene Dauer
2 Tage, insgesamt 12 ZeitstundenInhalte
- Einführung
- Was sind Muster in der Software-Entwicklung?
- Idiom, Entwurfsmuster, Analysemuster, Architekturmuster
- Muster und Frameworks
- Anti-Muster: Wie es nicht sein sollte.
- Kategorien von Mustern, klassen- und objektbasierte Muster
- Refactoring und Refactoring mit Patterns durchführen
- UML-Notation von Mustern
- Gof-Muster und weitere Mustersammlungen
- Nachteile von Mustern? - Erzeugungsmuster (Creational Pattern)
- Fabrikmethode (Factory Method): Erzeugt Objekte
- Abstrakte Fabrik (Abstract Factory): Erzeugt Familien von Objekten
- Erbauer (Builder): Konstruktion aus Teilen zusammensetzen
- Prototyp (Prototype): Erzeugt Objekt aus einer Vorlage
- Singleton: Erzeugt genau ein Objekt - Strukturmuster (Structural Pattern)
- Adapter: Bringt unterschiedliche Schnittstellen zusammen
- Brücke (Bridge): Trennt Implementierung von Abstraktion
- Dekorierer (Decorator): Erweitert Klasse um Funktionalität
- Fassade (Facade): Bietet einheitliche Schnittstelle
- Fliegengewicht (Flyweight): Verwaltet effektiv große Mengen kleiner Objekte
- Kompositum (Composite): Bildet Teil/Ganzes-Beziehung
- Proxy: Definiert Stellvertreter - Verhaltensmuster (Behavioral Pattern)
- Interpreter: Verarbeitet eine eigene Sprachgrammatik
- Schablonenmethode (Template Method): Unterklassen bestimmen Verhalten
- Befehl (Command): Trennt Befehl und Ausführung
- Beobachter (Observer): Realisiert Benachrichtigungen
- Besucher (Visitor): Kapselt Operation für Elemente
- Iterator: Läuft Elemente einer Sammlung ab
- Memento: Bildet Zustand für Sicherung ab
- Strategie (Strategy): Erlaubt Austausch von Algorithmen
- Vermittler (Mediator): Koppelt Objekte
- Zustand (State): Erlaubt Austausch von Verhalten
- Zuständigkeitskette (Chain of Responsibility): Fragt Objekte nach Verarbeitungswunsch
Voraussetzungen
Der Kurs ›Objektorientiertes Programmieren mit C++‹ oder vergleichbare Kenntnisse. Längere Praxiserfahrung in C++ ist vorteilhaft.
![Zu einem Bookmark-Anbieter hinzufügen [Addthis]](../../images/bookmarks/addthis.gif)
![Zu Google Bookmarks hinzufügen [Google Bookmarks]](../../images/bookmarks/google.png)
![Zu Yahoo! Bookmarks hinzufügen [Yahoo! Bookmarks]](../../images/bookmarks/yahoo.png)
![Zu Delicius hinzufügen [Delicius]](../../images/bookmarks/delicious.png)
![Zu Mister Wong hinzufügen [Mister Wong]](../../images/bookmarks/misterwong.png)