c# 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

C# Vorkenntnisse

Dieser umfassende C# Design Patterns Videokurs folgt inhaltlich einem roten Faden, sodass sichergestellt wird, dich als C#-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 C# 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

c# design patterns modul 1

In diesem Modul wirst du den Einstieg in die Welt der C# 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] Willkommen im Kurs
  • [Video 2] Was sind Design Patterns?

Modul 2: SOLID - Design Prinzipien

c# 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

c# design patterns modul 3

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 in UML
  • [Video 3] Vererbung in UML
  • [Video 4] Beziehungen zwischen Klassen in UML darstellen
  • [Video 5] Multiplizitäten in UML

Modul 4: Erzeugungsmuster

c# 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

c# 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 zum Builder Pattern
  • [Zusammenfassung] Builder Pattern Übersichtsblatt

Modul 6: Das Factory Method Pattern

c# 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 zum Factory Method Pattern
  • [Aufgaben] Programmieraufgabe + Musterlösung
  • [Zusammenfassung] Factory Method Pattern Übersichtsblatt

Modul 7: Das Abstract Factory Pattern

c# 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 zum Abstract Factory Pattern
  • [Zusammenfassung] Abstract Factory Pattern Übersichtsblatt

Modul 8: Das Singleton Pattern

c# 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 des Basic Singleton
  • [Video 4] Implementierung des Lazy Singleton
  • [Video 5] Implementierung des Threadsafe Singleton
  • [Video 6] Fazit zum Singleton Pattern
  • [Aufgaben] Programmieraufgabe + Musterlösung
  • [Zusammenfassung] Singleton Pattern Übersichtsblatt

Modul 9: Strukturmuster

c# design patterns modul 9

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 10: Das Adapter Pattern

c# design patterns modul 10

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 zum Adapter Pattern
  • [Aufgaben] Programmieraufgabe + Musterlösung
  • [Zusammenfassung] Adapter Pattern Übersichtsblatt

Modul 11: Das Bridge Pattern

c# design patterns modul 11

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 zum Bridge Pattern
  • [Zusammenfassung] Bridge Pattern Übersichtsblatt

Modul 12: Das Composite Pattern

c# design patterns modul 12

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 zum Composite Pattern
  • [Zusammenfassung] Composite Pattern Übersichtsblatt

Modul 13: Das Decorator Pattern

c# design patterns modul 13

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] Fazit zum Decorator Pattern
  • [Zusammenfassung] Decorator Pattern Übersichtsblatt

Modul 14: Das Facade Pattern

c# design patterns modul 14

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 zum Facade Pattern
  • [Zusammenfassung] Facade Pattern Übersichtsblatt

Modul 15: Das Flyweight Pattern

c# design patterns modul 15

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 zum Flyweight Pattern
  • [Zusammenfassung] Flyweight Pattern Übersichtsblatt

Modul 16: Das Proxy Pattern

c# design patterns modul 16

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] Der Schutz-Proxy in der Praxis
  • [Video 4] Der Virtuelle-Proxy in der Praxis
  • [Video 5] Fazit zum Proxy Pattern
  • [Zusammenfassung] Proxy Pattern Übersichtsblatt

Modul 17: Verhaltensmuster

c# design patterns modul 17

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 18: Das Chain of Responsibility Pattern

c# design patterns modul 18

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 zum Chain of Responsibility Pattern
  • [Zusammenfassung] Chain of Responsibility Pattern Übersichtsblatt

Modul 19: Das Command Pattern

c# design patterns modul 19

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 mit dem Command Pattern
  • [Video 5] Fazit zum Command Pattern
  • [Zusammenfassung] Command Pattern Übersichtsblatt

Modul 20: Das Iterator Pattern

c# design patterns modul 20

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] Weitere Iterationsmöglichkeiten bereitstellen
  • [Video 5] Fazit zum Iterator Pattern
  • [Zusammenfassung] Iterator Pattern Übersichtsblatt

Modul 21: Das Mediator Pattern

c# design patterns modul 21

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 zum Mediator Pattern
  • [Aufgaben] Programmieraufgabe + Musterlösung
  • [Zusammenfassung] Mediator Pattern Übersichtsblatt

Modul 22: Das Memento Pattern

c# design patterns modul 22

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 zum Memento Pattern
  • [Aufgaben] Programmieraufgabe + Musterlösung
  • [Zusammenfassung] Memento Pattern Übersichtsblatt

Modul 23: Das Observer Pattern

c# design patterns modul 23

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 zum Observer Pattern
  • [Zusammenfassung] Observer Pattern Übersichtsblatt

Modul 24: Das Strategy Pattern

c# design patterns modul 24

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 zum Strategy Pattern
  • [Zusammenfassung] Strategy Pattern Übersichtsblatt

Modul 25: Das Template Method Pattern

c# design patterns modul 25

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 zum Template Method Pattern
  • [Zusammenfassung] Template Method Pattern Übersichtsblatt

Modul 26: Das State Pattern

c# design patterns modul 26

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 zum State Pattern
  • [Zusammenfassung] State Pattern Übersichtsblatt