Packt

Behavioral Design Patterns in C++

Packt

Behavioral Design Patterns in C++

包含在 Coursera Plus

深入了解一个主题并学习基础知识。
中级 等级

推荐体验

2 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度
深入了解一个主题并学习基础知识。
中级 等级

推荐体验

2 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度

您将学到什么

  • 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.

要了解的详细信息

可分享的证书

添加到您的领英档案

最近已更新!

February 2026

作业

14 项作业

授课语言:英语(English)

了解顶级公司的员工如何掌握热门技能

Petrobras, TATA, Danone, Capgemini, P&G 和 L'Oreal 的徽标

该课程共有13个模块

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.

涵盖的内容

1个视频1篇阅读材料

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.

涵盖的内容

3个视频1个作业

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.

涵盖的内容

17个视频1个作业

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.

涵盖的内容

9个视频1个作业

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.

涵盖的内容

23个视频1个作业

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.

涵盖的内容

10个视频1个作业

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.

涵盖的内容

9个视频1个作业

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.

涵盖的内容

12个视频1个作业

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.

涵盖的内容

9个视频1个作业

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.

涵盖的内容

14个视频1个作业

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.

涵盖的内容

10个视频1个作业

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.

涵盖的内容

14个视频1个作业

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.

涵盖的内容

14个视频3个作业

位教师

Packt - Course Instructors
Packt
1,533 门课程 405,022 名学生

提供方

Packt

从 Software Development 浏览更多内容

人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.

自 2018开始学习的学生
''能够按照自己的速度和节奏学习课程是一次很棒的经历。只要符合自己的时间表和心情,我就可以学习。'

Jennifer J.

自 2020开始学习的学生
''我直接将从课程中学到的概念和技能应用到一个令人兴奋的新工作项目中。'

Larry W.

自 2021开始学习的学生
''如果我的大学不提供我需要的主题课程,Coursera 便是最好的去处之一。'

Chaitanya A.

''学习不仅仅是在工作中做的更好:它远不止于此。Coursera 让我无限制地学习。'
Coursera Plus

通过 Coursera Plus 开启新生涯

无限制访问 10,000+ 世界一流的课程、实践项目和就业就绪证书课程 - 所有这些都包含在您的订阅中

通过在线学位推动您的职业生涯

获取世界一流大学的学位 - 100% 在线

加入超过 3400 家选择 Coursera for Business 的全球公司

提升员工的技能,使其在数字经济中脱颖而出

常见问题