Aktualisiert im Mai 2025. Dieser Kurs enthält jetzt den Coursera Coach! Eine intelligentere Art zu lernen mit interaktiven Unterhaltungen in Echtzeit, die Ihnen helfen, Ihr Wissen zu testen, Annahmen zu hinterfragen und Ihr Verständnis zu vertiefen, während Sie durch den Kurs schreiten. Dieser Kurs führt Sie durch die wichtigsten strukturellen Entwurfsmuster in modernem C++, beginnend mit einer Einführung in Kernkonzepte wie Entwurfsmuster, S.O.L.I.D.-Prinzipien und UML-Klassendiagramme. Sie werden einen breiten Bereich von Patterns erkunden, darunter Adapter, Façade, Proxy und andere, mit schrittweisen Erklärungen. Jedes Modul stellt ein Muster vor, präsentiert Beispiele aus der Praxis und bietet Implementierungsstrategien. Sie lernen, wie Sie diese Muster in praktischen Szenarien anwenden können, z. B. beim Entwurf von Schnittstellen für Spieleingaben, bei der Implementierung von Konsolenprojekten und bei der Optimierung der Ressourcennutzung mit Proxys. Durch die Analyse der Vor- und Nachteile der einzelnen Muster erhalten Sie Einblicke, wann und warum Sie jeden Ansatz in Ihren eigenen Softwareprojekten verwenden sollten. Der Kurs konzentriert sich auch auf die Verbesserung der Leistung und Modularität und zeigt, wie Entwurfsmuster die Komplexität des Codes reduzieren und die Wiederverwendung fördern. Im Laufe des Kurses werden Sie Ihr Verständnis für fortgeschrittene C++-Konzepte wie Smart Pointer, gemeinsam genutzte Ressourcen und musterspezifische Idiome vertiefen. Am Ende des Kurses werden Sie in der Lage sein, diese Entwurfsmuster sicher anzuwenden, um skalierbare, wartbare Anwendungen zu erstellen und die Kunst des High-Level-Designs in modernem C++ zu beherrschen. Dieser Kurs richtet sich an mittlere bis fortgeschrittene C++-Entwickler, die mit den Prinzipien der objektorientierten Programmierung vertraut sind. Ein grundlegendes Verständnis der C++ Syntax und Vertrautheit mit Coding-Projekten wird empfohlen. Vorkenntnisse über Entwurfsmuster sind nicht erforderlich.

Erwerben Sie mit Coursera Plus für 199 $ (regulär 399 $) das nächste Level. Jetzt sparen.

Empfohlene Erfahrung
Was Sie lernen werden
Identifizierung und Beschreibung wichtiger struktureller Entwurfsmuster in C++.
Erklären Sie den Zweck und die Anwendung von S.O.L.I.D.-Prinzipien und Entwurfsmustern wie Adapter, Fassade und Proxy.
Unterscheiden Sie zwischen den Vor- und Nachteilen der einzelnen Entwurfsmuster und entscheiden Sie, wann Sie diese anwenden sollten.
Bewerten Sie die Auswirkungen auf die Leistung und die Verbesserung der Code-Qualität nach Anwendung von Entwurfsmustern.
Kompetenzen, die Sie erwerben
- Kategorie: C++ (Programmiersprache)
- Kategorie: Software-Architektur
- Kategorie: Objektorientierter Entwurf
- Kategorie: Unified Modeling Language
- Kategorie: Software Entwurf
- Kategorie: Objektorientierte Programmierung (OOP)
- Kategorie: Software-Entwurfsmuster
- Kategorie: Grundsätze der Programmierung
- Kategorie: Instandhaltbarkeit
Wichtige Details

Zu Ihrem LinkedIn-Profil hinzufügen
5 Aufgaben
Erfahren Sie, wie Mitarbeiter führender Unternehmen gefragte Kompetenzen erwerben.

In diesem Kurs gibt es 8 Module
In diesem Modul werden wir die grundlegenden Konzepte von Entwurfsmustern in modernem C++ erkunden. Wir beginnen mit einer Einführung in Entwurfsmuster und UML-Klassendiagramme und tauchen dann in die S.O.L.I.D.-Prinzipien ein, die als grundlegende Richtlinien für das Schreiben von effizientem und skalierbarem Code dienen. Das Modul schließt mit einem Überblick über strukturelle Entwurfsmuster, der die Grundlage für eine tiefere Erforschung in späteren Abschnitten bildet.
Das ist alles enthalten
7 Videos1 Lektüre
In diesem Modul werden wir uns mit dem Entwurfsmuster für Adapter beschäftigen, einem wichtigen strukturellen Muster, das dazu dient, inkompatible Schnittstellen in Software in Einklang zu bringen. Wir beginnen mit einer Einführung in das Muster und einem grundlegenden Beispiel, gefolgt von einer praktischen Anwendung mit Spieleingabe. Sie lernen die Implementierungsschritte kennen, verstehen die Unterschiede zwischen Objekt- und Klassenadaptern und schließen mit einer Analyse der Stärken und Grenzen des Musters ab.
Das ist alles enthalten
7 Videos
In diesem Modul werden wir uns mit dem Entwurfsmuster der Fassade beschäftigen, das komplexe Subsysteme durch eine einheitliche Schnittstelle vereinfacht. Wir beginnen mit einem grundlegenden Überblick und einem Beispiel, gefolgt von einer vierteiligen Serie, in der Sie ein Konsolenprojekt unter Verwendung des Fassadenmusters erstellen werden. Außerdem werden wir untersuchen, wie eine Fassade für Linux-Systeme erstellt werden kann, und abschließend die Vor- und Nachteile dieses Musters in der modernen Softwarearchitektur diskutieren.
Das ist alles enthalten
8 Videos1 Aufgabe
In diesem Modul werden wir uns mit dem Entwurfsmuster für Proxys befassen, das ein Surrogat oder einen Platzhalter für ein anderes Objekt zur Zugriffskontrolle bietet. Wir stellen die wichtigsten Varianten vor, wie z. B. virtuelle Proxys, Schutzproxys und Remote-Proxys, und zeigen, wie sie in realen Anwendungen implementiert und angewendet werden können. Außerdem erfahren Sie, wie Remote-Proxys in verteilten Systemen funktionieren, und lernen intelligente Proxys für erweiterte Funktionen kennen. Das Modul schließt mit einer Bewertung der Vorteile und Kompromisse bei der Verwendung von Proxy-Mustern in der Softwareentwicklung ab.
Das ist alles enthalten
13 Videos
In diesem Modul werden wir das Decorator Design Pattern erkunden, das es ermöglicht, Objekten dynamisch Verantwortlichkeiten hinzuzufügen, ohne ihre Struktur zu verändern. Beginnend mit einer Einführung und einem grundlegenden Beispiel, gehen wir zum Aufbau von Dekoratoren für Streams über und fügen Pufferungs-, Verschlüsselungs- und Kompressionsfunktionalitäten hinzu. Sie werden lernen, wie man die abstrakte Dekoratorklasse implementiert und die Unterschiede zwischen Komposition und Vererbung im Design verstehen. Das Modul schließt mit einer Aufschlüsselung der Dekoratortypen und einer Analyse der Stärken und Grenzen des Musters ab.
Das ist alles enthalten
13 Videos
In diesem Modul werden wir uns mit dem Composite Design Pattern beschäftigen, das es Entwicklern ermöglicht, einzelne Objekte und Kompositionen von Objekten einheitlich zu behandeln. Wir beginnen mit einer Einführung in das Muster und einem grundlegenden Beispiel, gefolgt von einem detaillierten Entwurf der Benutzeroberfläche (UI) für eine Anwendung. In einer dreiteiligen Serie lernen Sie, wie Sie eine UI-Klassenhierarchie implementieren und Probleme wie das Hinzufügen von Elternzeigern behandeln. Das Modul schließt mit einer Analyse der Vor- und Nachteile der Verwendung des Composite Patterns in verschiedenen Software-Designs ab.
Das ist alles enthalten
8 Videos1 Aufgabe
In diesem Modul werden wir das Entwurfsmuster Bridge erkunden, das die Abstraktion eines Objekts von seiner Implementierung trennt, um unabhängige Änderungen zu ermöglichen. Wir beginnen mit einer Einführung und einem grundlegenden Beispiel, gefolgt von praktischen Anwendungen wie dem Aufbau einer Shape-Hierarchie und dem Hinzufügen von OpenGL-Unterstützung. Sie werden auch lernen, wie Sie Hierarchieprobleme angehen und fortgeschrittene Techniken wie die Idiome handle-body und PImpl implementieren. Schließlich werden wir die statische Bridge diskutieren und die Stärken und Schwächen des Musters in verschiedenen Kontexten bewerten.
Das ist alles enthalten
15 Videos
In diesem Modul werden wir das Entwurfsmuster Flyweight erkunden, das die Arbeitsspeichernutzung durch die gemeinsame Nutzung von Objektzuständen minimiert. Wir beginnen mit einer Einführung und einer grundlegenden Implementierung, gefolgt von einer dreiteiligen Serie über die Anwendung des Musters in der Spieleentwicklung zur Verwaltung von 3D-Modellen. Sie lernen auch, wie Sie Zeichenfolgen implementieren und Boost.Flyweight zur weiteren Optimierung der Ressourcenverwaltung einsetzen. Das Modul schließt mit einer Diskussion über die Vorteile und Grenzen des Musters, insbesondere bei leistungsabhängigen Anwendungen.
Das ist alles enthalten
11 Videos3 Aufgaben
Dozent

von
Mehr von Softwareentwicklung entdecken
Status: Kostenloser Testzeitraum
Status: Kostenloser Testzeitraum
Warum entscheiden sich Menschen für Coursera für ihre Karriere?




Häufig gestellte Fragen
Ja, Sie können das erste Video in der Vorschau ansehen und den Lehrplan einsehen, bevor Sie sich anmelden. Sie müssen den Kurs kaufen, um auf Inhalte zuzugreifen, die nicht in der Vorschau enthalten sind.
Wenn Sie sich vor dem Beginn der Sitzung in den Kurs einschreiben, haben Sie Zugang zu allen Vorlesungsvideos und Lesestoff für den Kurs. Sobald die Sitzung beginnt, können Sie die Aufgaben einreichen.
Sobald Sie sich angemeldet haben und Ihre Sitzung beginnt, haben Sie Zugang zu allen Videos und anderen Ressourcen, einschließlich der Lektüre und dem Diskussionsforum des Kurses. Sie können Übungsaufgaben ansehen und einreichen und die erforderlichen benoteten Aufgaben erledigen, um eine Note und ein Kurszertifikat zu erhalten.
Weitere Fragen
Finanzielle Unterstützung verfügbar,






