Hands-On Design Patterns with C++

C++ is a general-purpose programming language designed with the goals of efficiency, performance, and flexibility in mind. Design patterns are commonly accepted solutions to well-recognized design problems. In essence, they are a library of reusable components, only for software architecture, and not for a concrete implementation.

The focus of this book is on the design patterns that naturally lend themselves to the needs of a C++ programmer, and on the patterns that uniquely benefit from the features of C++, in particular, the generic programming. 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, as well as their advantages and drawbacks. The other use of design patterns is as a concise and an efficient way to communicate. A pattern is a familiar and instantly recognizable solution to specific problem; through its use, sometimes with a single line of code, we can convey a considerable amount of information. The code conveys: "This is the problem we are facing, these are additional considerations that are most important in our case; hence, the following well-known solution was chosen."

By the end of this book, you will have gained a comprehensive understanding of design patterns to create robust, reusable, and maintainable code.

Type
ebook
Category
publication date
2019-01-30
what you will learn

Recognize the most common design patterns used in C++
Understand how to use C++ generic programming to solve common design problems
Explore the most powerful C++ idioms, their strengths, and drawbacks
Rediscover how to use popular C++ idioms with generic programming
Understand the impact of design patterns on the program’s performance

no of pages
512
duration
1024
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 * Understand the limitation imposed by C++ and how to solve them using design patterns *
approach
A step-by-step guide that will take you through some of the most important design patterns and equip you with the knowledge required to instantly recognize problems.
audience
This book is for experienced C++ developers and programmers who wish to learn about software design patterns and principles and apply them to create robust, reusable, and easily maintainable apps.
meta description
A comprehensive guide with extensive coverage on concepts such as OOP, functional programming, generic programming, and STL along with the latest features of C++
short description
Design patterns are a library of reusable components designed for software architecture, not for concrete implementation. In this book, we’ll teach you how to recognize and apply various C++ design patterns and idioms. By the end of the book, you’ll have an understanding of how to use design patterns to create robust and reusable apps
subtitle
Solve common C++ problems with modern design patterns and build robust applications
keywords
Design Patterns; SFINAE; RAII; C++; Type erasure;
Product ISBN
9781788832564