java design patterns masterkurs kursbild

Lerne innerhalb von 30 Tagen Lösungsschablonen für häufig auftretende Probleme in der Software-Entwicklung kennen

... sodass du bei der Entwicklung deiner Anwendungen, Spiele und Apps fortan auf Standard-Problemstellungen immer einen optimalen Lösungsansatz parat hast, der sich im Laufe der Zeit als Best Practice erwiesen hat. Dadurch musst du das Rad nicht immer wieder neu erfinden und kannst deine Code-Qualität massiv erhöhen.

Laufzeit des Kurses

ca. 13 Stunden

Benötigte Vorkenntnisse

Java Vorkenntnisse

Dieser umfassende Java Design Patterns Videokurs folgt inhaltlich einem roten Faden, sodass sichergestellt wird, dich als Java-Entwickler auf das nächste Level zu heben. Du wirst im Kurs zahlreiche Lösungsschablonen (sogenannte Design Patterns) kennenlernen, die du im Programmieralltag auf Standardproblemstellungen anwenden kannst. Erfinde das Rad also nicht jedes Mal aufwendig neu, sondern entwickle fortan mit Best Practices, die erfahrenere Programmierer/innen als du bereits im Kollektiv ermittelt haben.

Du kannst den kompletten Java Design Patterns Kurs in deiner eigenen Geschwindigkeit durcharbeiten und jede Lektion auch beliebig oft wiederholen. Der Kurs besteht insgesamt aus über 13 Stunden Videomaterial, was bedeutet, dass du den Kurs in ca. 2 bis 3 Tagen durcharbeiten könntest. Um effektiv zu lernen und auch genügend Zeit für die Aufgaben zu haben, empfehlen wir dir, eine Bearbeitungszeit von 15- 30 Tagen einzuplanen.

Im Laufe des Kurses wirst du permanent praxisnahe Programmieraufgaben und Praxisbeispiele vorgesetzt bekommen, die dein in der Theorie erlerntes Wissen festigen werden. Neben der Praxiserfahrung erhöht sich dadurch auch deine Fähigkeit, problemlösungsorientiert zu denken und komplexe Problemstellungen in einfache Teilprobleme herunterzubrechen. 

Inhaltsverzeichnis des Kurses

Modul 1: Einführung

java design patterns modul 1

In diesem Modul wirst du den Einstieg in die Welt der Java Design Patterns machen. Nachdem wir dich im Kurs begrüßt haben, wirst du zunächst einmal erfahren, was Design Patterns überhaupt sind.

Diese Lektionen erwarten dich:

  • [Video 1] Begrüßung + Aufbau des Kurses
  • [Video 2] Was sind Design Patterns?

Modul 2: SOLID - Design Prinzipien

java design patterns modul 2

In diesem Modul wirst du die sogenannten SOLID Design Prinzipien kennenlernen. Dabei handelt es sich um insgesamt fünf Prinzipien, die zu sauberen und qualitativ hochwertigen Code führen. Diese stellen also eine wichtige Grundlage für den kompletten weiteren Kursverlauf dar.

Diese Lektionen erwarten dich:

  • [Video 1] Was versteht man unter den SOLID - Design Prinzipien
  • [Video 2] S - Single Responsibility Principle
  • [Video 3] O - Open Closed Principle
  • [Video 4] L - Liskov Substitution Principle
  • [Video 5] I - Interface Segregation Principle
  • [Video 6] D - Dependency Inversion Principle

Modul 3: Einschub: UML-Klassendiagramme Crashkurs

java design patterns modul 4

In Modul 3 erhältst du eine kleine Einführung in das Thema UML-Klassendiagramme. Durch diese Art von Diagrammen haben wir nämlich im weiteren Verlauf des Kurses die Möglichkeit, den Aufbau der einzelnen Design Patterns, einfach und übersichtlich darzustellen.

Diese Lektionen erwarten dich:

  • [Video 1] Einführung in den UML Crashkurs
  • [Video 2] Klassen modellieren
  • [Video 3] Vererbung
  • [Video 4] Assoziation, Aggregation & Komposition
  • [Video 5] Multiplizitäten

Modul 4: Erzeugungsmuster

java design patterns modul 4

Alle existierenden Design Patterns können grob in drei Kategorien aufgeteilt werden. Die erste Kategorie ist die Kategorie der Erzeugungsmuster. Darunter fallen alle Design Patterns, die sich mit dem Erzeugen von Objekten beschäftigen.

Diese Lektionen erwarten dich:

  • [Video 1] Erzeugungsmuster (Creational Design Patterns)

Modul 5: Das Builder Pattern

java design patterns modul 5

Mithilfe des Builder Pattern kann man ein Objekt Stück für Stück aufbauen und am Ende das Ergebnis zurückgeben lassen. Dadurch wird ermöglicht, dass derselbe Konstruktionsprozess letztendlich verschiedene Repräsentationen erzeugen kann.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Builder Pattern
  • [Video 2] UML-Klassendiagramm Builder + Erklärung
  • [Video 3] Praxisbeispiel für Builder
  • [Video 4] Fazit - Builder Pattern
  • [Zusammenfassung] Builder Pattern Übersichtsblatt

Modul 6: Das Factory Method Pattern

java design patterns modul 6

Das Factory Method Pattern kann immer dann sinnvoll eingesetzt werden, wenn erst zur Laufzeit des Programms bestimmte Klassen ausgewählt und Objekte davon erzeugt werden sollen.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Factory Method Pattern
  • [Video 2] UML-Klassendiagramm Factory Method + Erklärung
  • [Video 3] Praxisbeispiel für das Factory Method Pattern
  • [Video 4] Fazit - Factory Method Pattern
  • [Aufgaben] Programmieraufgabe + Musterlösung
  • [Zusammenfassung] Factory Method Pattern Übersichtsblatt

Modul 7: Das Abstract Factory Pattern

java design patterns modul 7

Das Abstract Factory Pattern wird dazu verwendet, um während der Laufzeit des Programms mehrere Objekte einer Produktfamilie zu erzeugen.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Abstract Factory Pattern
  • [Video 2] UML-Klassendiagramm Abstract Factory + Erklärung
  • [Video 3] Praxisbeispiel für das Abstract Factory Pattern
  • [Video 4] Fazit - Abstract Factory Pattern
  • [Zusammenfassung] Abstract Factory Pattern Übersichtsblatt

Modul 8: Das Singleton Pattern

java design patterns modul 8

Durch das Singleton Pattern wird sichergestellt, dass von einer Klasse nur eine Instanz erzeugt werden kann.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Singleton Pattern
  • [Video 2] UML-Klassendiagramm Singleton Pattern + Erklärung
  • [Video 3] Implementierung - Basic Singleton
  • [Video 4] Implementierung - Singleton mit Lazy Instanziierung
  • [Video 5] Implementierung - Singleton Threadsafe
  • [Video 6] Fazit - Singleton Pattern
  • [Aufgaben] Programmieraufgabe + Musterlösung
  • [Zusammenfassung] Singleton Pattern Übersichtsblatt

Modul 9: Das Prototype Pattern

java design patterns modul 9

Das Prototype Pattern wird dann eingesetzt, wenn es leichter ist, ein bereits existierendes Objekt zu klonen, anstatt ein neues zu erzeugen und zu initialisieren.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Prototype Pattern
  • [Video 2] UML-Klassendiagramm Prototype Pattern + Erklärung
  • [Video 3] Exkurs (1) - Problematik beim Klonen komplexer Datentypen
  • [Video 4] Exkurs (2) - Allgemein: Klonen von Objekten
  • [Video 5] Exkurs (3) - Vorgehensweise (1): Die flache Kopie
  • [Video 6] Exkurs (4) - Vorgehensweise (2): Die tiefe Kopie
  • [Video 7] Exkurs (5) - Vorgehensweise (3): Der Copy-Konstruktor
  • [Video 8] Praxisbeispiel für das Prototype Pattern
  • [Video 9] Fazit - Prototype Pattern
  • [Zusammenfassung] Prototype Pattern Übersichtsblatt

Modul 10: Strukturmuster

Neben den Erzeugungsmuster gibt es auch die Kategorie der Strukturmuster. Diese beschäftigen sich damit, wie Klassen und Objekte zusammengesetzt werden können, um letztendlich größere Strukturen zu bilden.

Diese Lektionen erwarten dich:

  • [Video 1] Strukturmuster (Structural Design Patterns)

Modul 11: Das Adapter Pattern

java design patterns modul 11

Das Adapter Pattern dient zur Übersetzung einer Schnittstelle in eine andere. Dadurch wird die Kommunikation von Klassen mit zueinander inkompatiblen Schnittstellen ermöglicht.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Adapter Pattern
  • [Video 2] UML-Klassendiagramm Adapter Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Adapter Pattern
  • [Video 4] Fazit - Adapter Pattern
  • [Aufgaben] Programmieraufgabe + Musterlösung
  • [Zusammenfassung] Adapter Pattern Übersichtsblatt

Modul 12: Das Bridge Pattern

java design patterns modul 12

Das Bridge Pattern ist ein Mechanismus, durch den die Implementierung von ihrer Abstraktion getrennt wird. Dadurch erreicht man eine lose Kopplung zwischen der Implementierungshierarchie und der Abstraktionshierarchie.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Bridge Pattern
  • [Video 2] UML-Klassendiagramm Bridge Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Bridge Pattern
  • [Video 4] Fazit - Bridge Pattern
  • [Zusammenfassung] Bridge Pattern Übersichtsblatt

Modul 13: Das Composite Pattern

java design patterns modul 13

Das Composite Pattern stellt einen Mechanismus zur Verfügung, um einfache Objekte und komplexe zusammengesetzte Objekte einheitlich zu behandeln. Die Objekte werden zu sogenannten Baumstrukturen zusammengefügt, um so Teil-Ganze Hierarchien zu repräsentieren.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Composite Pattern
  • [Video 2] UML-Klassendiagramm Composite Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Composite Pattern
  • [Video 4] Fazit - Composite Pattern
  • [Zusammenfassung] Composite Pattern Übersichtsblatt

Modul 14: Das Decorator Pattern

java design patterns modul 14

Mithilfe des Decorator Pattern hat man eine flexible Alternative zur Unterklassenbildung zur Verfügung, um eine Klasse mit zusätzlichen Funktionalitäten zu erweitern.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Decorator Pattern
  • [Video 2] UML-Klassendiagramm Decorator Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Decorator Pattern
  • [Video 4] String Decorator
  • [Video 5] Fazit - Decorator Pattern
  • [Zusammenfassung] Decorator Pattern Übersichtsblatt

Modul 15: Das Facade Pattern

java design patterns modul 15

Das Facade Pattern bietet eine einheitliche und meist vereinfachte Schnittstelle zu einer Menge von Schnittstellen eines Subsystems.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Facade Pattern
  • [Video 2] UML-Klassendiagramm Facade Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Facade Pattern
  • [Video 4] Fazit - Facade Pattern
  • [Zusammenfassung] Facade Pattern Übersichtsblatt

Modul 16: Das Flyweight Pattern

java design patterns modul 16

Das Flyweight Pattern ist eine Methode zur Speicheroptimierung, die immer dann verwendet wird, wenn man von einer Klasse ganz viele Objekte erstellen muss, die sich bestimmte variable Informationen teilen und deren normale Implementierung deshalb unnötig Speicher verbrauchen würde.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Flyweight Pattern
  • [Video 2] UML-Klassendiagramm Flyweight Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Flyweight Pattern
  • [Video 4] Fazit - Flyweight Pattern
  • [Zusammenfassung] Flyweight Pattern Übersichtsblatt

Modul 17: Das Proxy Pattern

java design patterns modul 17

Das Proxy Pattern sorgt dafür, dass der Client nicht direkt mit dem Zielobjekt kommuniziert, sondern stattdessen mit dem Proxy, welcher dann auf das Zielobjekt zugreift.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Proxy Pattern
  • [Video 2] UML-Klassendiagramm Proxy Pattern + Erklärung
  • [Video 3] Schutz-Proxy Praxisbeispiel
  • [Video 4] Virtuell-Proxy Praxisbeispiel
  • [Video 5] Fazit - Proxy Pattern
  • [Zusammenfassung] Proxy Pattern Übersichtsblatt

Modul 18: Verhaltensmuster

java design patterns modul 18

Die dritte Kategorie von Design Patterns trägt den Titel Verhaltensmuster. Bei diesen Design Patterns geht es um die Beziehung, die Interaktion und das Verhalten von Objekten untereinander.

Diese Lektionen erwarten dich:

  • [Video 1] Verhaltensmuster (Behavioral Design Patterns)

Modul 19: Das Chain of Responsibility Pattern

java design patterns modul 19

Mithilfe des Chain of Responsibility Patterns wird das Objekt, welches eine Anfrage startet, von dem Objekt, welches die Anfrage letztendlich bearbeitet, entkoppelt.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Chain of Responsibility Pattern
  • [Video 2] UML-Klassendiagramm Chain of Responsibility Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Chain of Responsibility Pattern
  • [Video 4] Fazit - Chain of Responsibility Pattern
  • [Zusammenfassung] Chain of Responsibility Pattern Übersichtsblatt

Modul 20: Das Command Pattern

java design patterns modul 20

Befehle werden in extra Befehlsobjekten gekapselt. Das wiederum ermöglicht, Clients mit verschiedenen Anfragen zu parametrisieren, Operationen in eine Schlange einzureihen, ein Logbuch zu führen und Operationen rückgängig zu machen.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Command Pattern
  • [Video 2] UML-Klassendiagramm Command Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Command Pattern
  • [Video 4] Undo Operationen
  • [Video 5] Fazit - Command Pattern
  • [Zusammenfassung] Command Pattern Übersichtsblatt

Modul 21: Das Iterator Pattern

java design patterns modul 21

Mithilfe des Iterator Pattern wird eine Standardmethode bereitgestellt, um eine Gruppe von Objekten zu durchlaufen.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Iterator Pattern
  • [Video 2] UML-Klassendiagramm Iterator Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Iterator Pattern
  • [Video 4] Zusätzliche Iterationsmöglichkeiten bereitstellen
  • [Video 5] Fazit - Iterator Pattern
  • [Zusammenfassung] Iterator Pattern Übersichtsblatt

Modul 22: Das Mediator Pattern

java design patterns modul 22

Das Mediator Pattern verhindert eine enge Kopplung zwischen verschiedenen Objekten, die miteinander kommunizieren müssen. Hierfür stellt es ein sogenanntes Mediator Objekt (Vermittler) zur Verfügung, welches die Kommunikation zwischen den Objekten übernimmt.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Mediator Pattern
  • [Video 2] UML-Klassendiagramm Mediator Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Mediator Pattern
  • [Video 4] Fazit - Mediator Pattern
  • [Aufgaben] Programmieraufgabe + Musterlösung
  • [Zusammenfassung] Mediator Pattern Übersichtsblatt

Modul 23: Das Memento Pattern

java design patterns modul 23

Durch das Memento Pattern kann man den internen Zustand eines Objekts erfassen und externalisieren. Dadurch kann das Objekt zu einem späteren Zeitpunkt wieder in diesen Zustand zurückversetzt werden. Durch das Memento Pattern ist zudem sichergestellt, dass die Kapselung nicht verletzt wird.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Memento Pattern
  • [Video 2] UML-Klassendiagramm Memento Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Memento Pattern
  • [Video 4] Fazit - Memento Pattern
  • [Aufgaben] Programmieraufgabe + Musterlösung
  • [Zusammenfassung] Memento Pattern Übersichtsblatt

Modul 24: Das Observer Pattern

java design patterns modul 24

Mithilfe des Observer Pattern definiert man eine Abhängigkeit zwischen einem und beliebig vielen anderen Objekten, sodass die Änderung des Zustands eines Objekts dazu führt, dass alle abhängigen Objekte automatisch benachrichtigt und aktualisiert werden.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Observer Pattern
  • [Video 2] UML-Klassendiagramm Observer Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Observer Pattern
  • [Video 4] Fazit - Observer Pattern
  • [Aufgaben] Programmieraufgabe + Musterlösung
  • [Zusammenfassung] Observer Pattern Übersichtsblatt

Modul 25: Das Strategy Pattern

java design patterns modul 25

Durch das Strategy Pattern wird eine Familie von Algorithmen definiert, die einzeln gekapselt und austauschbar sind. Somit kann zur Laufzeit der gewünschte Algorithmus ausgeführt werden.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Strategy Pattern
  • [Video 2] UML-Klassendiagramm Strategy Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Strategy Pattern
  • [Video 4] Fazit - Strategy Pattern
  • [Aufgaben] Programmieraufgabe + Musterlösung
  • [Zusammenfassung] Strategy Pattern Übersichtsblatt

Modul 26: Das Template Method Pattern

java design patterns modul 26

Das Template Method Pattern sorgt dafür, dass Teilschritte eines Algorithmus variabel gehalten werden können.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des Template Method Pattern
  • [Video 2] UML-Klassendiagramm Template Method Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das Template Method Pattern
  • [Video 4] Fazit - Template Method Pattern
  • [Zusammenfassung] Template Method Pattern Übersichtsblatt

Modul 27: Das State Pattern

java design patterns modul 27

Mit dem State Pattern kann man das Verhalten eines Objekts zur Laufzeit ändern, und zwar immer dann, wenn sich der interne Zustand des Objekts geändert hat. Es wird dann so aussehen, als ob das Objekt seine Klasse gewechselt hat.

Diese Lektionen erwarten dich:

  • [Video 1] Motivation zur Verwendung des State Pattern
  • [Video 2] UML-Klassendiagramm State Pattern + Erklärung
  • [Video 3] Praxisbeispiel für das State Pattern
  • [Video 4] Fazit - State Pattern
  • [Zusammenfassung] State Pattern Übersichtsblatt