Design Patterns in Modern C++

Reusable Approaches for Object-Oriented Software Design

Book Description

Apply modern C++17 to the implementations of classic design patterns. As well as covering traditional design patterns, this book fleshes out new patterns and approaches that will be useful to C++ developers. The author presents concepts as a fun investigation of how problems can be solved in different ways, along the way using varying degrees of technical sophistication and explaining different sorts of trade-offs.

Design Patterns in Modern C++ also provides a technology demo for modern C++, showcasing how some of its latest features (e.g., coroutines) make difficult problems a lot easier to solve. The examples in this book are all suitable for putting into production, with only a few simplifications made in order to aid readability.

Apply design patterns to modern C++ programming; Use creational patterns of builder, factories, prototype and singleton; Implement structural patterns such as adapter, bridge, decorator, facade and more; Work with the behavioral patterns such as chain of responsibility, command, iterator, mediator and more; Apply functional design patterns such as Monad and more.