Entwurfsmuster und ihre Integration mit Dependency Injection

Lerne wichtige Design Patterns, sie zu implementieren und als Clean Code in Anwendungen einzusetzen.

Ratings 3.94 / 5.00
Entwurfsmuster und ihre Integration mit Dependency Injection

What You Will Learn!

  • Am Ende des Kurses verstehst du wichtige Entwurfsmuster, kannst sie entdecken, einordnen und praktisch in Code umsetzen.
  • Du bist mit grundlegenden Prinzipien der Software-Entwicklung vertraut, die dir den Weg zu sauberen, flexiblen und wartbaren Code ebnen.
  • Du weißt wie eine Applikation aufgebaut wird und an welcher Stelle Entwurfsmuster in deinen Code eingespeist werden.
  • Die Begriffe Dependency Injection, Composition Root und Object Graph sind dir keine Fremdworte mehr.

Description

Note: The course is also available in English. Search for: "Design Patterns and their usage with Dependency Injection"


Kurs zum Erlernern häufig angewendeter Entwurfsmuster

In meinem Kurs lernst du die Grundlagen verschiedener, wichtiger Design Patterns (Entwurfsmuster) der Software-Entwicklung kennen. Absichtlich gehen wir nicht auf alle möglichen Entwurfsmuster ein. Wir beschränken uns auf die am häufigsten verwendeten Muster, die Software-Entwickler beherrschen sollten. Andere Muster darüber hinaus sprengen den Umfang und die Komplexität dieses Kurses. Ebenfalls intensiv beschäftigt sich der Kurs mit der praktischen Anwendung der Muster in Zusammenhang mit Dependency Injection und den SOLID-Prinzipien, damit Clean Code nicht nur eine leere Worthülse bleibt.

Behandelte Entwurfsmuster:

  • Decorator (Dekorierer)

  • Composite (Kompositum)

  • Proxy (Stellvertreter)

  • Strategy Pattern (Strategie)

  • Strategy Proxy

  • Adapter

  • Null Object (Nullobjekt)

Behandelte Konzepte:

  • SOLID-Prinzipien

  • Dependency Injection (Constructor Injection)

  • Composition Root (Bootstrapping)

  • Objektgraph

  • Verkettung und Wiederverwendung von Entwurfsmustern

Zielgruppe

Der Kurs richtet sich an Anfänger mit Programmierkenntnissen und fortgeschrittene Programmierer / Entwickler, die über die reine Implementierung von Funktionen und Algorithmen hinaus den Aufbau objektorientierter Software erlernen sowie sich im Bereich Design / Architektur weiterbilden möchten. Schnittstellen, Abstraktionen und Interfaces werden im Kurs kurz eingeführt, ein Vorwissen darüber erleichtert aber das Verständnis. Der Kurs setzt grundlegendes Wissen über Klassen und Funktionen voraus.

Entwickler, die bereits gesamte Applikationen entwicklen und aufbauen, aber häufig auf Probleme bei der Wartbarkeit und Anpassungsfähigkeit ihres Codes stoßen, können ebenfalls von den Inhalten profitieren. Insbesondere kann hier das vermittelte Wissen über Dependency Injection und den Composition Root neue Erkenntnisse bringen.

Die Beispiele und Übungen sind in C# verfasst, einer sehr einfach zu verstehenden Programmiersprache. Die behandelten Konzepte sind sprachübergreifend und der Code lässt sich problemlos in die eigene (objektorientierte) Programmiersprache übersetzen.

Inhalt des Kurses

Kurze theoretische Einleitungen mit einfachen UML-Diagrammen führen - über Analogien aus der realen Welt - zu praktischen Implementierungen in Code.

Alle Entwurfsmuster werden am Beispiel "Stecker und Steckdose" erläutert. So werden Funktion, Anwendung und Ziele der Muster auf abstrakter Ebene leicht verständlich erklärt. Der Schwerpunkt liegt dabei immer auf dem Verständnis der Muster sowie der tatsächlichen Implementierung. Die kurzen Theorie-Lektionen werden durch einfachste UML-Diagramme begleitet.

Der Kurs basiert auf einem Wechsel von

  • Video-Inhalten, die Entwurfsmuster an realen Objekten erläutern,

  • Präsentationen, die das Erlernte kompakt zusammenfassen,

  • Screencasts, in denen die Implementierungen und Umsetzungen in echtem Code gezeigt werden,

  • Übungen, die eigenständig gelöst werden können,

  • Quizze, zur schnellen Selbstkontrolle des Erlernten sowie

  • einem Abschlusstest mit über 35 Fragen zum gesamten Kurs.

Alles Wissen über Entwurfsmuster bringt nichts, wenn man sie in einer Applikation nicht korrekt einsetzen kann. Daher enthält der Kurs ebenfalls Grundlagen zu den SOLID-Prinzipien, sowie Dependency Injection und Composition Root, der Basis objektorientierten Designs. Mit diesen simplen Konzepten können Entwurfsmuster so in Anwendungen integriert werden, dass sie ihre wahre Stärke entfalten: adaptiven, wartbaren und verständlichen Code.

Auf diesem Wissen aufbauend gehen wir eine praxisnahe Beispiel-Applikation durch: die Bestellabfertigung eines E-Commerce-Unternehmens. Du lernst reale Einsatzmöglichkeiten der Entwurfsmuster, sowie deren Einbindung in die Applikation kennen.

Übungen

Unterstützt wird der gesamte Kurs durch Übungen, die in C# geschrieben wurden. Du erhälst Aufgaben zur Implementierung und zum Einbau von Entwurfsmustern. Übungen können auf zwei Wegen durchgeführt werden. Sie stehen einmal direkt im Kurs, über die von Udemy bereitgestellte IDE inkl. Kontrolltests und Lösungen zur Verfügung. Alternativ befinden sich die Übungen in der beigelegten Projektmappe für das kostenfreie Visual Studio 2022 Community Edition (oder höher).

Der gesamte Code, sowohl der Beispiele als auch der Übungen ist mit Unit-Tests versehen. Auch wenn in diesem Kurs nicht explizit auf Unit-Tests eingegangen wird, können dir diese Tests dennoch beim Nachvollziehen helfen und nebenbei einen Zugang zum Test-First-Development oder Test-Driven-Development (TDD) verschaffen. Du wirst sehen, wie einfach Implementierungen der Entwurfsmuster getestet werden können.

Who Should Attend!

  • Software-Entwickler*innen mit Anfängerkenntnissen, die sich für sauberen, wartbaren und flexiblen Code interessieren
  • Programmierer*innen, die den strukturierten Aufbau einer Applikation erlernen möchten
  • Software-Ingenieur*innen, die ihre Applikation entkoppeln möchten
  • Software-Architekt*innen, die Dependency Injection und Composition Root verstehen möchten
  • C#-Entwickler*innen, die die Umsetzung von Entwurfsmuster in ihrer Sprache erlernen möchten
  • Software Development Engineers, die sich Clean Code auf ihre Fahne schreiben möchten

TAKE THIS COURSE

Tags

  • Design Patterns (software)
  • Software Architecture
  • Software Design
  • Software Engineering

Subscribers

153

Lectures

78

TAKE THIS COURSE



Related Courses