Modul 1: Einführung
Begrüßung + Aufbau des Kurses
Was sind Design Patterns?
Modul 2: SOLID - Design Prinzipien
Was versteht man unter den SOLID - Design Prinzipien?
S - Single Responsibility Principle
O - Open Closed Principle
L - Liskov Substitution Principle
I - Interface Segregation Principle
D - Dependency Inversion Principle
Modul 3: Einschub - UML-Klassendiagramme Crashkurs
Einführung UML-Klassendiagramme
Klassen modellieren
Vererbung
Assoziation, Aggregation & Komposition
Multiplizitäten
Modul 4: Erzeugungsmuster
Erzeugungsmuster (Creational Design Patterns)
Modul 5: Das Builder Pattern
Motivation zur Verwendung des Builder Pattern
UML-Klassendiagramm Builder + Erklärung
Praxisbeispiel für Builder
Fazit - Builder Pattern
Builder Pattern Übersichtsblatt
Modul 6: Das Factory Method Pattern
Motivation zur Verwendung des Factory Method Pattern
UML-Klassendiagramm Factory Method + Erklärung
Praxisbeispiel für das Factory Method Pattern
Fazit - Factory Method Pattern
Programmieraufgabe
Factory Method Pattern Übersichtsblatt
Modul 7: Das Abstract Factory Pattern
Motivation zur Verwendung des Abstract Factory Pattern
UML-Klassendiagramm Abstract Factory + Erklärung
Praxisbeispiel für das Abstract Factory Pattern
Fazit - Abstract Factory Pattern
Abstract Factory Pattern Übersichtsblatt
Modul 8: Das Singleton Pattern
Motivation zur Verwendung des Singleton Pattern
UML-Klassendiagramm Singleton Pattern + Erklärung
Implementierung - Basic Singleton
Implementierung - Singleton mit Lazy Instanziierung
Implementierung - Singleton Threadsafe
Fazit - Singleton Pattern
Programmieraufgabe
Singleton Pattern Übersichtsblatt
Modul 9: Das Prototype Pattern
Motivation zur Verwendung des Prototype Pattern
UML-Klassendiagramm Prototype Pattern + Erklärung
Exkurs (1) - Problematik beim Klonen komplexer Datentypen
Exkurs (2) - Allgemein: Klonen von Objekten
Exkurs (3) - Vorgehensweise (1): Die flache Kopie
Exkurs (4) - Vorgehensweise (2): Die tiefe Kopie
Exkurs (5) - Vorgehensweise (3): Der Copy-Konstruktor
Praxisbeispiel für das Prototype Pattern
Fazit - Prototype Pattern
Prototype Pattern Übersichtsblatt
Modul 10: Strukturmuster
Strukturmuster (Structural Design Patterns)
Modul 11: Das Adapter Pattern
Motivation zur Verwendung des Adapter Pattern
UML-Klassendiagramm Adapter Pattern + Erklärung
Praxisbeispiel für das Adapter Pattern
Fazit - Adapter Pattern
Programmieraufgabe
Adapter Pattern Übersichtsblatt
Modul 12: Das Bridge Pattern
Motivation zur Verwendung des Bridge Pattern
UML-Klassendiagramm Bridge Pattern + Erklärung
Praxisbeispiel für das Bridge Pattern
Fazit - Bridge Pattern
Bridge Pattern Übersichtsblatt
Modul 13: Das Composite Pattern
Motivation zur Verwendung des Composite Pattern
UML-Klassendiagramm Composite Pattern + Erklärung
Praxisbeispiel für das Composite Pattern
Fazit - Composite Pattern
Composite Pattern Übersichtsblatt
Modul 14: Das Decorator Pattern
Motivation zur Verwendung des Decorator Pattern
UML-Klassendiagramm Decorator Pattern + Erklärung
Praxisbeispiel für das Decorator Pattern
String Decorator
Fazit - Decorator Pattern
Decorator Pattern Übersichtsblatt
Modul 15: Das Facade Pattern
Motivation zur Verwendung des Facade Pattern
UML-Klassendiagramm Facade Pattern + Erklärung
Praxisbeispiel für das Facade Pattern
Fazit - Facade Pattern
Facade Pattern Übersichtsblatt
Modul 16: Das Flyweight Pattern
Motivation zur Verwendung des Flyweight Pattern
UML-Klassendiagramm Flyweight Pattern + Erklärung
Praxisbeispiel für das Flyweight Pattern
Fazit - Flyweight Pattern
Flyweight Pattern Übersichtsblatt
Modul 17: Das Proxy Pattern
Motivation zur Verwendung des Proxy Pattern
UML-Klassendiagramm Proxy Pattern + Erklärung
Schutz-Proxy Praxisbeispiel
Virtuell-Proxy Praxisbeispiel
Fazit - Proxy Pattern
Proxy Pattern Übersichtsblatt
Modul 18: Verhaltensmuster
Verhaltensmuster (Behavioral Design Patterns)
Modul 19: Das Chain of Responsibility Pattern
Motivation zur Verwendung des Chain of Responsibility Pattern
UML-Klassendiagramm Chain of Responsibility Pattern + Erklärung
Praxisbeispiel für das Chain of Responsibility Pattern
Fazit - Chain of Responsibility Pattern
Chain of Responsibility Pattern Übersichtsblatt
Modul 20: Das Command Pattern
Motivation zur Verwendung des Command Pattern
UML-Klassendiagramm Command Pattern + Erklärung
Praxisbeispiel für das Command Pattern
Undo Operationen
Fazit - Command Pattern
Command Pattern Übersichtsblatt
Modul 21: Das Iterator Pattern
Motivation zur Verwendung des Iterator Pattern
UML-Klassendiagramm Iterator Pattern + Erklärung
Praxisbeispiel für das Iterator Pattern
Zusätzliche Iterationsmöglichkeiten bereitstellen
Fazit - Iterator Pattern
Iterator Pattern Übersichtsblatt
Modul 22: Das Mediator Pattern
Motivation zur Verwendung des Mediator Pattern
UML-Klassendiagramm Mediator Pattern + Erklärung
Praxisbeispiel für das Mediator Pattern
Fazit - Mediator Pattern
Programmieraufgabe
Mediator Pattern Übersichtsblatt
Modul 23: Das Memento Pattern
Motivation zur Verwendung des Memento Pattern
UML-Klassendiagramm Memento Pattern + Erklärung
Praxisbeispiel für das Memento Pattern
Fazit - Memento Pattern
Programmieraufgabe
Memento Pattern Übersichtsblatt
Modul 24: Das Observer Pattern
Motivation zur Verwendung des Observer Pattern
UML-Klassendiagramm Observer Pattern + Erklärung
Praxisbeispiel für das Observer Pattern
Fazit - Observer Pattern
Observer Pattern Übersichtsblatt
Modul 25: Das Strategy Pattern
Motivation zur Verwendung des Strategy Pattern
UML-Klassendiagramm Strategy Pattern + Erklärung
Praxisbeispiel für das Strategy Pattern
Fazit - Strategy Pattern
Programmieraufgabe
Strategy Pattern Übersichtsblatt
Modul 26: Das Template Method Pattern
Motivation zur Verwendung des Template Method Pattern
UML-Klassendiagramm Template Method Pattern + Erklärung
Praxisbeispiel für das Template Method Pattern
Fazit - Template Method Pattern
Template Method Pattern Übersichtsblatt
Modul 27: Das State Pattern
Motivation zur Verwendung des State Pattern
UML-Klassendiagramm State Pattern + Erklärung
Praxisbeispiel für das State Pattern
Fazit - State Pattern
State Pattern Übersichtsblatt