Packt

Behavioral Design Patterns in C++

Économisez sur les compétences qui vous font briller avec 40 % de réduction sur 3 mois de Coursera Plus. Économisez maintenant

Ce cours n'est pas disponible en Français (France)

Nous sommes actuellement en train de le traduire dans plus de langues.
Packt

Behavioral Design Patterns in C++

Inclus avec Coursera Plus

Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Intermédiaire

Expérience recommandée

2 semaines à compléter
Ă  10 heures par semaine
Planning flexible
Apprenez Ă  votre propre rythme
Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Intermédiaire

Expérience recommandée

2 semaines à compléter
Ă  10 heures par semaine
Planning flexible
Apprenez Ă  votre propre rythme

Ce que vous apprendrez

  • Gain a deep understanding of behavioral design patterns in C++ and how they improve code maintainability.

  • Learn how to implement design patterns such as Strategy, Command, Memento, and others to solve real-world programming challenges.

  • Understand how to apply patterns for optimizing multi-threading, undo/redo mechanisms, and thread-safety in C++ applications.

  • Refactor legacy systems by incorporating design patterns to enhance flexibility, scalability, and code quality.

Compétences que vous acquerrez

  • CatĂ©gorie : System Design and Implementation
  • CatĂ©gorie : Design Strategies
  • CatĂ©gorie : C and C++
  • CatĂ©gorie : Systems Design
  • CatĂ©gorie : Software Design Patterns

Détails à connaître

Certificat partageable

Ajouter Ă  votre profil LinkedIn

Récemment mis à jour !

février 2026

Évaluations

14 devoirs

Enseigné en Anglais

Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

 logos de Petrobras, TATA, Danone, Capgemini, P&G et L'Oreal

Il y a 13 modules dans ce cours

In this module, we will introduce the course structure and explain the key benefits of learning behavioral design patterns in C++. You'll get an overview of the fundamental concepts and how they directly apply to real-world software development. By the end, you’ll have a clear understanding of what to expect and how this course will help you enhance your coding proficiency.

Inclus

1 vidéo1 lecture

In this module, we will cover the basics of design patterns, class diagrams, and behavioral design patterns. You’ll understand the foundational concepts that underpin many software development practices and how these patterns facilitate creating efficient and scalable solutions. This module is essential for building the groundwork before diving deeper into specific patterns.

Inclus

3 vidéos1 devoir

In this module, we will delve into the strategy pattern and how it can be implemented to manage algorithms in a flexible way. Through hands-on examples like spreadsheet applications and dynamic arrays, you will learn how to refactor your code to make it more maintainable and extensible. We’ll also cover advanced variations like static strategy and function strategy for efficient runtime decision-making.

Inclus

17 vidéos1 devoir

In this module, we will introduce the template method pattern and show you how to use it to define the skeleton of an algorithm in a base class while leaving the implementation of specific steps to subclasses. You’ll get hands-on experience applying the pattern to real-world examples, such as document frameworks, and learn how it improves code reusability and maintainability.

Inclus

9 vidéos1 devoir

In this module, we will explore the command pattern, focusing on how it can decouple sender and receiver objects. By working through examples like text editors and logging systems, you’ll learn to implement command objects for managing user input and actions like undo/redo. This pattern is essential for creating flexible and extensible software applications.

Inclus

23 vidéos1 devoir

In this module, we will cover the memento pattern and demonstrate how it allows you to store and restore an object’s state without exposing its internal structure. Through examples like banking applications and games, you’ll learn how to effectively implement memento for state management, providing a mechanism for undo/redo functionality and preserving the state of complex systems.

Inclus

10 vidéos1 devoir

In this module, we will explore the chain of responsibility pattern and its ability to decouple request senders from receivers. We’ll apply the pattern to real-world examples like help systems and logging systems, where requests are passed along a chain of handlers. This approach simplifies request processing by allowing multiple handlers to take action without direct dependencies.

Inclus

9 vidéos1 devoir

In this module, we will dive into the observer pattern, which enables objects to notify others about state changes. Through examples like alarm systems and sensor applications, you’ll learn how to use this pattern to create loosely coupled systems where one object’s change in state automatically triggers updates in other objects. This is crucial for building reactive systems.

Inclus

12 vidéos1 devoir

In this module, we will explore the mediator pattern, which simplifies interactions between objects by introducing a mediator that controls communication. By working through examples like chat systems and dialog boxes, you will understand how this pattern reduces the complexity of object interactions and helps manage dependencies more effectively.

Inclus

9 vidéos1 devoir

In this module, we will focus on the visitor pattern, which allows you to add new operations to an object structure without changing the classes themselves. Using shape hierarchies and operations like rendering, you’ll learn how to extend functionality while maintaining the flexibility of your system. We’ll also introduce concepts like acyclic visitors and C++17 std::variant.

Inclus

14 vidéos1 devoir

In this module, we will cover the interpreter pattern, which helps interpret complex expressions in specific domains. Through examples like Boolean evaluators and reverse Polish notation (RPN) systems, you’ll learn how to define grammars and use interpreters to parse and evaluate expressions, making it easier to implement domain-specific languages and evaluation engines.

Inclus

10 vidéos1 devoir

In this module, we will focus on the state pattern, which allows an object to alter its behavior based on its internal state. Through examples like a lamp with multiple states and transition tables, you’ll learn how to implement the state pattern for managing state changes. This pattern simplifies handling state-dependent behavior and reduces complexity in your code.

Inclus

14 vidéos1 devoir

In this module, we will explore the iterator pattern, which provides a way to access the elements of a collection sequentially without exposing its underlying structure. You’ll implement iterators for various containers, including arrays and linked lists, and understand how iterators help create flexible and reusable code for collection traversal. This module also covers C++ iterators and smart pointers for advanced usage.

Inclus

14 vidéos3 devoirs

Instructeur

Packt - Course Instructors
Packt
1 857 Cours514 430 apprenants

Offert par

Packt

En savoir plus sur Software Development

Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?

Felipe M.

Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’

Jennifer J.

Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’

Larry W.

Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’

Chaitanya A.

’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’

Foire Aux Questions