Design Patterns in Modern C++: Reusable Approaches for Object-Oriented Software Design
- Length: 314 pages
- Edition: 1st ed.
- Language: English
- Publisher: Apress
- Publication Date: 2018-06-22
- ISBN-10: 1484236025
- ISBN-13: 9781484236024
- Sales Rank: #1080748 (See Top 100 Books)
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++.
Table of Contents
Chapter 1: Introduction
Part I: Creational Patterns
Chapter 2: Builder
Chapter 3: Factories
Chapter 4: Prototype
Chapter 5: Singleton
Part II: Structural Patterns
Chapter 6: Adapter
Chapter 7: Bridge
Chapter 8: Composite
Chapter 9: Decorator
Chapter 10: Façade
Chapter 11: Flyweight
Chapter 12: Proxy
Part III: Behavioral Patterns
Chapter 13: Chain of Responsibility
Chapter 14: Command
Chapter 15: Interpreter
Chapter 16: Iterator
Chapter 17: Mediator
Chapter 18: Memento
Chapter 19: Null Object
Chapter 20: Observer
Chapter 21: State
Chapter 22: Strategy
Chapter 23: Template Method
Chapter 24: Visitor
Part IV: Appendix A: Functional Design Patterns
Chapter 25: Maybe Monad