Source Code: https://bitbucket.org/williamblair/headfirstdesignpatternscpp/src/main/
Strategy | Encapsulates interchangable behaviors and uses delegation to decide which one to use |
Observer | Allows objects to be notified when the state changes |
Decorator | Wraps an object to provide new behavior |
Factory Method | Subclasses decide which concrete classes to create |
Abstract Factory | Allows a client to create families of objects without specifying their concrete classes |
Singleton | Ensures one and only one object is created |
Command | Encapsulates a request as an object |
Adapter | Wraps an object and provides a different interface to it |
Facade | Simplifies the interface of a set of classes |
Template Method | Subclasses decide how to implement stepns in an algorithm |
Iterator | Provides a way to traverse a collection of objects without exposing its implementation |
Composite | Clients treat collections of objects and individual objects uniformly |
State | Encapsulates state-based behaviors and uses delegation to switch between behaviors |
Proxy | Wraps an object to control access to it |
Model-View-Controller (MVC) | Compound pattern consisting of Observer, Strategy, Composite patterns. |