Hands-On Design Patterns with C++: Master the Design Patterns to create robust, reusable and easily maintainable apps

Fedor G Pikus



This guide will amplify your knowledge and simplify your journey through the world of design patterns

Key Features

  • Delve into the core patterns and components of C++ in order to master application design,
  • Learn tricks, techniques, and best practices to solve common design and architectural challenges,
  • Build high-performing applications by optimizing components

Book Description

C++ is a general-purpose programming language built with a bias towards embedded programming and systems programming. Design patterns are, in essence, a library of reusable components, only for software architecture, not for a concrete implementation.

With this book, we will teach you how to recognize and apply some of the most common C++ design patterns and idioms. We will focus on the design patterns that naturally lend themselves to the needs of a C++ programmer and fit well with the language's features. Armed with the knowledge of these patterns, you will spend less time searching for a solution to a common problem and be familiar with the solutions developed from experience, their advantages and drawbacks. The other use of design patterns is as a concise and efficient way to communicate. The patterns are familiar and instantly recognizable solutions to specific problems; with its use, sometimes with a single line of code, we can convey a considerable amount of information. The code speaks: "this is the problem we are facing, these are additional considerations that are most important in our case, and, thus, the following well-known solution was chosen."

By the end of this book, you will have gained a comprehensive understanding of the Design Patterns to create robust, reusable and easily maintainable apps.

What you will learn

  • Recognize some of the most common design patterns used in C++, and what additional information is expressed by their use in context.
  • Understand how to use C++ generic programming to solve some of the most common design problems.
  • Explore the most powerful C++ idioms, their strengths, and drawbacks.
  • Rediscover some of the most popular C++ idioms, such as Resource Acquisition Is Initialization, and learn the new ways they can be used together with generic programming.
  • Understand the impact of different design and implementation choices on the program performance, and how to write well-designed and readable programs without sacrificing performance.

Who This Book Is For

C++ developers who are comfortable in programming in C++ and now want to learn how to implement design patterns to create robust, reusable and easily maintainable apps.