Supercharge your C++ skills with structural design patterns. Discover their secrets, learn implementation, and build efficient, scalable software like a pro!
Key Features
- Understand various structural design patterns
- Find out how structural design patterns create bigger structures through inheritance and composition
- Discover amazing techniques to tweak design patterns for performance and maximum flexibility using C++
Book Description
With design patterns, it is very easy to solve common object-oriented design problems. However, understanding and learning design patterns is tough and time-consuming. This course will help you get acquainted with design patterns and teach you some useful techniques to implement them in modern C++.
The course starts with an introduction to design patterns and explains the structure of a pattern with the help of a Unified Modeling Language (UML) class diagram. Then, you will understand how to implement a design pattern, how to examine the issues, and how to refactor the code by studying different types of design patterns such as adapter, façade, proxy, decorator, composite, bridge, and flyweight. In addition to this, you will also learn about the pros and cons of each pattern.
By the end of this course, you will be well-versed in various structural design patterns and will have developed the skills to implement them in modern C++.
All the resource files are added to the GitHub repository at: https://github.com/PacktPublishing/Structural-Design-Patterns-in-Modern-C-
What you will learn
- Use the adapter pattern to convert an incompatible interface into a compatible one
- Control access to the original object using the proxy pattern
- Form larger structures through recursive composition using the composite pattern
- Simplify complex interfaces of a system using the façade pattern
- Enable sharing of large number of objects using the flyweight pattern
- Use the decorator pattern to add more behaviors to an object at runtime
Who this book is for
If you are a student who wants to get a basic understanding of design patterns; a software developer, project manager, or an architect who wants to understand and implement design patterns in their projects; or a C++ developer who wants to implement design patterns in C++, this course is for you. To get started with this course, it is necessary to have basic knowledge of C++ and object-oriented programming concepts.