Apply the latest editions of the C++ standard to the implementation of design patterns. As well as covering traditional design patterns, this book fleshes out new design patterns and approaches that will be useful to modern C++ developers. Author Dmitri Nesteruk 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++20, Second Edition also provides a technology demo for modern C++, showcasing how some of its latest features (e.g., coroutines, modules and more) 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.
You will:
- Use creational patterns such as builder, factories, prototype and singleton
- Implement structural patternssuch 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 the Maybe Monad
Autorentext
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.
Inhalt
1. Introduction
Part- I: Creational Patterns
2. Builder
3. Factories4. Prototype
5. Singleton
Part- II: Structural Patterns
6. Adapter
7. Bridge
8. Composite
9. Decorator10. Façade
11. Flyweight
12. Proxy
Part- III: Behavioral Patterns
13. Chain of Responsibility
14. Command
15. Interpreter16. Iterator
17. Mediator
18. Memento
19. Null Object
20. Observer
21. State
22. Strategy23. Template Method
24. Visitor