Packt
Creational Design Patterns in Modern C++
Packt

Creational Design Patterns in Modern C++

Packt

Instructor: Packt

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

9 hours to complete
3 weeks at 3 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

9 hours to complete
3 weeks at 3 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Apply creational design patterns in modern C++ projects

  • Analyze and solve complex design challenges using flexible, reusable solutions

  • Evaluate code maintainability by incorporating S.O.L.I.D. principles

  • Optimize application performance through patterns like Object Pool and Prototype

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

October 2024

Assessments

4 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

Placeholder
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 7 modules in this course

In this module, we will explore the foundational concepts of software design, starting with an introduction to the course and progressing through key principles and patterns. We’ll cover the basics of the Unified Modeling Language (UML), dive into the S.O.L.I.D. design principles, and introduce creational patterns that set the stage for more advanced discussions.

What's included

7 videos1 reading

In this module, we will dive deep into the singleton design pattern, exploring its basic implementation and common use cases. We’ll tackle advanced topics such as lazy instantiation, multithreading challenges, and alternative designs like the monostate pattern. Additionally, we'll cover real-world examples, and registry patterns, and evaluate when to use singleton effectively in your applications.

What's included

18 videos

In this module, we will explore the factory method design pattern, covering its structure and basic implementation. You'll learn how to apply it in different contexts, including application frameworks and parameterized approaches. We’ll also discuss how to integrate memory management with smart pointers and analyze the advantages and trade-offs of using the factory method.

What's included

10 videos1 assignment

In this module, we will explore the object pool design pattern, focusing on its structure and practical applications. You will learn how to implement pooling for game objects and multiple actors, as well as create a flexible, generic object pool. Through examples, we’ll cover advanced topics such as reducing dependencies and optimizing memory allocation, helping you decide when and how to use object pooling effectively.

What's included

10 videos

In this module, we will explore the abstract factory design pattern, starting with its intent and structure. You’ll learn to apply it by refactoring basic examples and implementing it in a database framework with SQL Server and MySQL classes. We’ll also cover advanced usage, integrating it with the factory method, and discuss the pros and cons to help you determine when to use the abstract factory in your designs.

What's included

11 videos1 assignment

In this module, we will explore the prototype design pattern, focusing on its intent and how it facilitates object cloning. You will learn how to apply the pattern through practical examples, including game development scenarios. We’ll address the difference between shallow and deep copies, handle varying object states, and develop a prototype manager. Lastly, we’ll explore memory management optimizations using smart pointers and evaluate when the prototype pattern is most beneficial in software design.

What's included

17 videos

In this module, we will explore the builder design pattern, focusing on its intent and structure. You will learn how to implement the builder pattern through practical examples, such as refactoring a file class to resolve design issues. We will also cover advanced topics like modern builder approaches and the fluent interface. By the end, you’ll be able to assess when and how to effectively use the builder pattern in your projects.

What's included

9 videos2 assignments

Instructor

Packt
Packt
273 Courses4,599 learners

Offered by

Packt

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

New to Mobile and Web Development? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions