Linked e-resources
Details
Table of Contents
Intro; Table of Contents; About the Author; About the Technical Reviewer; Chapter 1: Introduction; Preliminaries; Who This Book Is For; On Code Examples; On Developer Tools; Piracy; Important Concepts; Curiously Recurring Template Pattern; Mixin Inheritance; Properties; The SOLID Design Principles; Single Responsibility Principle; Open-Closed Principle; Liskov Substitution Principle; Interface Segregation Principle; Dependency Inversion Principle; Time for Patterns!; Part I: Creational Patterns; Chapter 2: Builder; Scenario; Simple Builder; Fluent Builder; Communicating Intent
Groovy-Style BuilderComposite Builder; Summary; Chapter 3: Factories; Scenario; Factory Method; Factory; Inner Factory; Abstract Factory; Functional Factory; Summary; Chapter 4: Prototype; Object Constrution; Ordinary Duplication; Duplication via Copy Construction; Serialization; Prototype Factory; Summary; Chapter 5: Singleton; Singleton as Global Object; Classic Implementation; Thread Safety; The Trouble with Singleton; Singletons and Inversion of Control; Monostate; Summary; Part II: Structural Patterns; Chapter 6: Adapter; Scenario; Adapter; Adapter Temporaries; Summary; Chapter 7: Bridge
The Pimpl IdiomBridge; Summary; Chapter 8: Composite; Array Backed Properties; Grouping Graphic Objects; Neural Networks; Summary; Chapter 9: Decorator; Scenario; Dynamic Decorator; Static Decorator; Functional Decorator; Summary; Chapter 10: Façade; How the Terminal Works; An Advanced Terminal; Where's the Façade?; Summary; Chapter 11: Flyweight; User Names; Boost.Flyweight; String Ranges; Naïve Approach; Flyweight Implementation; Summary; Chapter 12: Proxy; Smart Pointers; Property Proxy; Virtual Proxy; Communication Proxy; Summary; Part III: Behavioral Patterns
Chapter 13: Chain of ResponsibilityScenario; Pointer Chain; Broker Chain; Summary; Chapter 14: Command; Scenario; Implementing the Command Pattern; Undo Operations; Composite Command; Command Query Separation; Summary; Chapter 15: Interpreter; Numeric Expression Evaluator; Lexing; Parsing; Using Lexer and Parser; Parsing with Boost.Spirit; Abstract Syntax Tree; Parser; Printer; Summary; Chapter 16: Iterator; Iterators in the Standard Library; Traversing a Binary Tree; Iteration with Coroutines; Summary; Chapter 17: Mediator; Chat Room; Mediator with Events; Summary; Chapter 18: Memento
Bank AccountUndo and Redo; Summary; Chapter 19: Null Object; Scenario; Null Object; shared_ptr is not a Null Object; Design Improvements; Implicit Null Object; Summary; Chapter 20: Observer; Property Observers; Observer; Observable; Connecting Observers and Observables; Dependency Problems; Unsubscription and Thread Safety; Reentrancy; Observer via Boost.Signals2; Summary; Chapter 21: State; State-Driven State Transitions; Handmade State Machine; State Machines with Boost.MSM; Summary; Chapter 22: Strategy; Dynamic Strategy; Static Strategy; Summary; Chapter 23: Template Method
Groovy-Style BuilderComposite Builder; Summary; Chapter 3: Factories; Scenario; Factory Method; Factory; Inner Factory; Abstract Factory; Functional Factory; Summary; Chapter 4: Prototype; Object Constrution; Ordinary Duplication; Duplication via Copy Construction; Serialization; Prototype Factory; Summary; Chapter 5: Singleton; Singleton as Global Object; Classic Implementation; Thread Safety; The Trouble with Singleton; Singletons and Inversion of Control; Monostate; Summary; Part II: Structural Patterns; Chapter 6: Adapter; Scenario; Adapter; Adapter Temporaries; Summary; Chapter 7: Bridge
The Pimpl IdiomBridge; Summary; Chapter 8: Composite; Array Backed Properties; Grouping Graphic Objects; Neural Networks; Summary; Chapter 9: Decorator; Scenario; Dynamic Decorator; Static Decorator; Functional Decorator; Summary; Chapter 10: Façade; How the Terminal Works; An Advanced Terminal; Where's the Façade?; Summary; Chapter 11: Flyweight; User Names; Boost.Flyweight; String Ranges; Naïve Approach; Flyweight Implementation; Summary; Chapter 12: Proxy; Smart Pointers; Property Proxy; Virtual Proxy; Communication Proxy; Summary; Part III: Behavioral Patterns
Chapter 13: Chain of ResponsibilityScenario; Pointer Chain; Broker Chain; Summary; Chapter 14: Command; Scenario; Implementing the Command Pattern; Undo Operations; Composite Command; Command Query Separation; Summary; Chapter 15: Interpreter; Numeric Expression Evaluator; Lexing; Parsing; Using Lexer and Parser; Parsing with Boost.Spirit; Abstract Syntax Tree; Parser; Printer; Summary; Chapter 16: Iterator; Iterators in the Standard Library; Traversing a Binary Tree; Iteration with Coroutines; Summary; Chapter 17: Mediator; Chat Room; Mediator with Events; Summary; Chapter 18: Memento
Bank AccountUndo and Redo; Summary; Chapter 19: Null Object; Scenario; Null Object; shared_ptr is not a Null Object; Design Improvements; Implicit Null Object; Summary; Chapter 20: Observer; Property Observers; Observer; Observable; Connecting Observers and Observables; Dependency Problems; Unsubscription and Thread Safety; Reentrancy; Observer via Boost.Signals2; Summary; Chapter 21: State; State-Driven State Transitions; Handmade State Machine; State Machines with Boost.MSM; Summary; Chapter 22: Strategy; Dynamic Strategy; Static Strategy; Summary; Chapter 23: Template Method