Design Patterns in Modern C++: Reusable Approaches for Object-Oriented Software Design

  • 3h
  • Dmitri Nesteruk
  • Apress
  • 2018

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.

What You Will Learn

  • 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

Who This Book Is For

Those with at least some prior programming experience, especially in C++.

About the Author

Dmitri Nesteruk is a quantitative analyst, developer, course and book author, and an occasional conference speaker. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C# and C++ programming as well high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009.

In this Book

  • Introduction
  • Builder
  • Factories
  • Prototype
  • Singleton
  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Façade
  • Flyweight
  • Proxy
  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Null Object
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor
  • Maybe Monad
SHOW MORE
FREE ACCESS