Learn how to implement creational design patterns in modern C++ with the help of expert guidance and real-world examples
Key Features
- Become familiar with creational design patterns
- Solve object construction problems with creational design patterns
- Understand the role of C++ in implementing design patterns
Book Description
The best way to solve common object-oriented design problems is by implementing design patterns. However, understanding and learning design patterns can be time-consuming and intimidating, but this course has got you covered! With Creational Design Patterns in Modern C++, you'll learn how to understand and implement creational design patterns in C++ with the help of engaging examples.
The course begins with an introduction to creational patterns, giving you a tour of UML class diagrams and SOLID principles. You'll become familiar with logger classes, multithreading, and patterns and gain a solid understanding of singletons in C++. As you progress, you'll get to grips with the factory method and find out how to implement it in the application framework. Once you've covered the intent, structure, and implementation of the object pool pattern, you'll discover how to use the abstract factory pattern. Finally, you'll delve into prototype implementation with the help of a gaming example and apply the builder pattern.
By the end of this course, you'll have developed skills needed to create and implement patterns in modern C++.
The code bundle for this course is available at https://github.com/PacktPublishing/Creational-Design-Patterns-in-Modern-C-plus-plus
What you will learn
- Implement singleton in C++ with thread-safety
- Use the factory method to encapsulate the construction process
- Avoid repetitive construction with object pool pattern
- Control the construction process of an object using the builder design pattern
- Clone expensive objects with the prototype pattern
- Construct objects based on a context using abstract factory
Who this book is for
Whether you are new to design patterns or an experienced software or C++ developer or a project manager who wants to implement creational design patterns using modern C++, this course is for you. Basic knowledge of C++ and object-oriented programming is necessary to get started with this course.