Kurs zum Erlernern hufig angewendeter EntwurfsmusterIn meinem Kurs lernst du die Grundlagen verschiedener, wichtiger Design Patterns (Entwurfsmuster) der Software-Entwicklung kennen. Absichtlich gehen wir nicht auf alle mglichen Entwurfsmuster ein. Wir beschrnken uns auf die am hufigsten verwendeten Muster, die Software-Entwickler beherrschen sollten. Andere Muster darber hinaus sprengen den Umfang und die Komplexitt dieses Kurses. Ebenfalls intensiv beschftigt sich der Kurs mit der praktischen Anwendung der Muster in Zusammenhang mit Dependency Injection und denSOLID-Prinzipien, damit Clean Code nicht nur eine leere Worthlse bleibt. Behandelte Entwurfsmuster: Decorator (Dekorierer)Composite (Kompositum)Proxy (Stellvertreter)Strategy Pattern (Strategie)Strategy ProxyAdapterNull Object (Nullobjekt)Behandelte Konzepte: SOLID-PrinzipienDependency Injection (Constructor Injection)CompositionRoot (Bootstrapping)ObjektgraphVerkettung und Wiederverwendung von EntwurfsmusternZielgruppeDer Kurs richtet sich an Anfnger 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 mchten. Schnittstellen, Abstraktionen und Interfaces werden im Kurs kurz eingefhrt, ein Vorwissen darber erleichtert aber das Verstndnis. Der Kurs setzt grundlegendes Wissen ber Klassen und Funktionen voraus. Entwickler, die bereits gesamte Applikationen entwicklen und aufbauen, aber hufig auf Probleme bei der Wartbarkeit und Anpassungsfhigkeit ihres Codes stoen, knnen ebenfalls von den Inhalten profitieren. Insbesondere kann hier das vermittelte Wissen ber Dependency Injection und denCompositionRoot neue Erkenntnisse bringen. Die Beispiele und bungen sind in C# verfasst, einer sehr einfach zu verstehenden Programmiersprache. Die behandelten Konzepte sind sprachbergreifend und der Code lsst sich problemlos in die eigene (objektorientierte) Programmiersprache bersetzen. Inhalt des KursesKurze theoretische Einleitungen mit einfachen UML-Diagrammen fhren - ber Analogien aus der realen Welt - zu praktischen Implementierungen inCode. Alle Entwurfsmuster werden am Beispiel “Stecker und Steckdose” erlutert. So werden Funktion, Anwendung und Ziele der Muster auf abstrakter Ebene leicht verstndlich erklrt. Der Schwerpunkt liegt dabei immer auf dem Verstndnis der Muster sowie der tatschlichen 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 erlutern, Prsentationen, die das Erlernte kompakt zusammenfassen, Screencasts, in denen die Implementierungen und Umsetzungen in echtem Code gezeigt werden, bungen, die eigenstndig gelst werden knnen, Quizze, zur schnellen Selbstkontrolle des Erlernten sowieeinem 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 enthlt der Kurs ebenfalls Grundlagen zu den SOLID-Prinzipien, sowie Dependency Injection und CompositionRoot, der Basis objektorientierten Designs. Mit diesen simplen Konzepten knnen Entwurfsmuster so in Anwendungen integriert werden, dass sie ihre wahre Strke entfalten: adaptiven, wartbaren und verstndlichen Code. Auf diesemWissen aufbauend gehen wir eine praxisnahe Beispiel-Applikation durch: die Bestellabfertigung eines E-Commerce-Unternehmens. Du lernst reale Einsatzmglichkeiten der Entwurfsmuster, sowie deren Einbindung in die Applikation kennen. bungenUntersttzt wird der gesamte Kurs durch bungen, die in C# geschrieben wurden. Du erhlst Aufgaben zur Implementierung und zum Einbau von Entwurfsmustern. bungen knnen auf zwei Wegen durchgefhrt werden. Sie stehen einmal direkt im Kurs, ber die von Udemy bereitgestellte IDE inkl. Kontrolltests und Lsungen zur Verfgung. Alternativ befinden sich die bungen in der beigelegten Projektmappe fr das kostenfreie Visual Studio 2022 Community Edition (oder hher).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, knnen 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 knnen.