This course guides you through the most important structural design patterns in modern C++, starting with an introduction to core concepts like design patterns, S.O.L.I.D. principles, and UML class diagrams. You’ll explore a wide range of patterns, including Adapter, Façade, Proxy, and others, with step-by-step explanations. Each module introduces a pattern, presents real-world examples, and provides implementation strategies.
Empfohlene Erfahrung
Was Sie lernen werden
Identify and describe key structural design patterns in C++.
Explain the intent and application of S.O.L.I.D. principles and design patterns like Adapter, Façade, and Proxy.
Differentiate between the pros and cons of each design pattern and decide when to apply them.
Assess the performance impact and code quality improvements after applying design patterns.
Kompetenzen, die Sie erwerben
- Kategorie: Flyweight pattern C++
- Kategorie: Adapter pattern C++
- Kategorie: C++ design patterns
- Kategorie: Proxy pattern C++
- Kategorie: S.O.L.I.D. principles C++
Wichtige Details
Zu Ihrem LinkedIn-Profil hinzufügen
Oktober 2024
4 Aufgaben
Erfahren Sie, wie Mitarbeiter führender Unternehmen gefragte Kompetenzen erwerben.
Erwerben Sie ein Karrierezertifikat.
Fügen Sie diese Qualifikation zur Ihrem LinkedIn-Profil oder Ihrem Lebenslauf hinzu.
Teilen Sie es in den sozialen Medien und in Ihrer Leistungsbeurteilung.
In diesem Kurs gibt es 8 Module
In this module, we will explore the fundamental concepts of design patterns in modern C++. We begin with an introduction to design patterns and UML class diagrams, then dive into the S.O.L.I.D. principles that serve as foundational guidelines for writing efficient and scalable code. The module concludes with a high-level overview of structural design patterns, setting the stage for deeper exploration in later sections.
Das ist alles enthalten
7 Videos1 Lektüre
In this module, we will explore the Adapter Design Pattern, a key structural pattern used to reconcile incompatible interfaces in software. We begin with an introduction to the pattern and a basic example, followed by a hands-on application using game input. You'll learn the steps for implementation and understand the differences between object and class adapters, concluding with an analysis of the pattern's strengths and limitations.
Das ist alles enthalten
7 Videos
In this module, we will dive into the Façade Design Pattern, which simplifies complex subsystems by providing a unified interface. We begin with a basic overview and example, followed by a four-part series where you'll build a console project using the façade pattern. Additionally, we will explore how to create a façade for Linux systems and wrap up with a discussion of the pros and cons of this pattern in modern software architecture.
Das ist alles enthalten
8 Videos1 Aufgabe
In this module, we will explore the Proxy Design Pattern, which provides a surrogate or placeholder for another object to control access. We will introduce key variations, such as virtual, protection, and remote proxies, demonstrating how to implement and apply them in real-world applications. You'll also learn how remote proxies function in distributed systems and delve into smart proxies for enhanced functionality. The module concludes with an evaluation of the benefits and trade-offs of using proxy patterns in software design.
Das ist alles enthalten
13 Videos
In this module, we will explore the Decorator Design Pattern, which allows for adding responsibilities to objects dynamically without altering their structure. Starting with an introduction and basic example, we move on to building decorators for streams, adding buffering, encryption, and compression functionalities. You'll learn how to implement the abstract decorator class and understand the differences between composition and inheritance in design. The module concludes with a breakdown of decorator types and an analysis of the pattern's strengths and limitations.
Das ist alles enthalten
13 Videos
In this module, we will explore the Composite Design Pattern, which enables developers to treat individual objects and compositions of objects uniformly. We begin with an introduction to the pattern and a basic example, followed by a detailed application-to-user interface (UI) design. Through a three-part series, you will learn how to implement a UI class hierarchy and handle issues like adding parent pointers. The module concludes with an analysis of the pros and cons of using the composite pattern in various software designs.
Das ist alles enthalten
8 Videos1 Aufgabe
In this module, we will explore the Bridge Design Pattern, which separates an object's abstraction from its implementation to enable independent changes. We begin with an introduction and a basic example, followed by practical applications such as building a shape hierarchy and adding OpenGL support. You’ll also learn how to address hierarchy issues and implement advanced techniques like the handle-body and PImpl idioms. Finally, we’ll discuss the static bridge and evaluate the pattern’s strengths and weaknesses in different contexts.
Das ist alles enthalten
15 Videos
In this module, we will explore the Flyweight Design Pattern, which minimizes memory usage by sharing common object states. We begin with an introduction and a basic implementation, followed by a three-part series on applying the pattern in game development for managing 3D models. You'll also learn how to implement string interning and use Boost.Flyweight to further optimize resource management. The module concludes with a discussion of the pattern's advantages and limitations, especially in performance-critical applications.
Das ist alles enthalten
11 Videos2 Aufgaben
Dozent
von
Empfohlen, wenn Sie sich für Software Development interessieren
Warum entscheiden sich Menschen für Coursera für ihre Karriere?
Neue Karrieremöglichkeiten mit Coursera Plus
Unbegrenzter Zugang zu über 7.000 erstklassigen Kursen, praktischen Projekten und Zertifikatsprogrammen, die Sie auf den Beruf vorbereiten – alles in Ihrem Abonnement enthalten
Bringen Sie Ihre Karriere mit einem Online-Abschluss voran.
Erwerben Sie einen Abschluss von erstklassigen Universitäten – 100 % online
Schließen Sie sich mehr als 3.400 Unternehmen in aller Welt an, die sich für Coursera for Business entschieden haben.
Schulen Sie Ihre Mitarbeiter*innen, um sich in der digitalen Wirtschaft zu behaupten.
Häufig gestellte Fragen
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.