Design Patterns in Modern C++
Design Patterns in Modern C++
$15.00
Minimum price
$30.00
Suggested price

EMBARGO!

Journalists and bloggers: please do not publish anything about this until the embargo is lifted!

Please contact the author for more information about when this is.

Design Patterns in Modern C++

This book is 100% complete

Completed on 2018-06-30

About the Book

Based on a popular Pluralsight course series, Design Patterns in Modern C++ covers all of the original Gang of Four design patterns using all the advanced features of Modern C++.

About the Author

Dmitri Nesteruk
Dmitri Nesteruk

Dmitri Nesteruk is a developer, speaker, podcaster and a technologist. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. He is an instructor of an entry-level course in Quantitative Finance. His technological interests include C#, F# and C++ programming as well high-performance computing using technologies such as CUDA. He has been a C# MVP since 2009.

Table of Contents

  •  
    • 1. Introduction
      • Preliminaries
      • Important Concepts
      • The SOLID Design Principles
      • Time for Patterns!
  • I Creational Patterns
    •  
      • Returning Objects From Functions
    • 2. Builder
      • Scenario
      • Simple Builder
      • Fluent Builder
      • Communicating Intent
      • Groovy-style Builder
      • Composite Builder
      • Summary
    • 3. Factories
      • Scenario
      • Factory Method
      • Factory
      • Inner Factory
      • Abstract Factory
      • Functional Factory
      • Summary
    • 4. Prototype
      • Object Constrution
      • Ordinary Duplication
      • Duplication via Copy Construction
      • Serialization
      • Prototype Factory
      • Summary
    • 5. Singleton
      • Singleton as Global Object
      • Classic Implementation
      • The Trouble with Singleton
      • Singletons and Inversion of Control
      • Monostate
      • Summary
  • II Structural Patterns
    • 6. Adapter
      • Scenario
      • Adapter
      • Adapter Temporaries
      • Summary
    • 7. Bridge
      • The Pimpl Idiom
      • Bridge
      • Summary
    • 8. Composite
      • Array Backed Properties
      • Grouping Graphic Objects
      • Neural Networks
      • Summary
    • 9. Decorator
      • Scenario
      • Dynamic Decorator
      • Static Decorator
      • Functional Decorator
      • Summary
    • 10. Façade
      • How the Terminal Works
      • An Advanced Terminal
      • Where’s the Façade?
      • Summary
    • 11. Flyweight
      • User Names
      • Boost.Flyweight
      • String Ranges
      • Summary
    • 12. Proxy
      • Smart Pointers
      • Property Proxy
      • Virtual Proxy
      • Communication Proxy
      • Summary
  • III Behavioral Patterns
    • 13. Chain of Responsibility
      • Scenario
      • Pointer Chain
      • Broker Chain
      • Summary
    • 14. Command
      • Scenario
      • Implementing the Command Pattern
      • Undo Operations
      • Composite Command
      • Command Query Separation
      • Summary
    • 15. Interpreter
      • Numeric Expression Evaluator
      • Parsing with Boost.Spirit
      • Summary
    • 16. Iterator
      • Iterators in the Standard Library
      • Traversing a Binary Tree
      • Iteration with Coroutines
      • Summary
    • 17. Mediator
      • Chat Room
      • Mediator with Events
      • Summary
    • 18. Memento
      • Bank Account
      • Undo and Redo
      • Summary
    • 19. Null Object
      • Scenario
      • Null Object
      • shared_ptr is not a Null Object
      • Design Improvements
      • Implicit Null Object
      • Summary
    • 20. Observer
      • Property Observers
      • Observer<T>
      • Observable<T>
      • Connecting Observers and Observables
      • Dependency Problems
      • Unsubscription and Thread Safety
      • Reentrancy
      • Observer via Boost.Signals2
      • Summary
    • 21. State
      • State Driven State Transitions
      • Handmade State Machine
      • State Machines with Boost.MSM
      • Summary
    • 22. Strategy
      • Dynamic Strategy
      • Static Strategy
      • Summary
    • 23. Template Method
      • Game Simulation
      • Summary
    • 24. Visitor
      • Intrusive Visitor
      • Reflective Printer
      • WTH is Dispatch?
      • Classic Visitor
      • Acyclic Visitor
      • Variants and std::visit
      • Summary
  • IV Appendix A: Functional Design Patterns
    • 25. Maybe Monad
  • Notes

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors, publishers and universities use Leanpub to publish amazing in-progress and completed books and courses, just like this one. You can use Leanpub to write, publish and sell your book or course as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub