C++ Implementation for 23 Design Patterns
- Abstract Factory, families of product objects
- Builder, how a composite object gets created
- Factory Method, subclass of object that is instantiated
- Prototype, class of object that is instantiated
- Singleton, the sole instance of a class
- Adapter, interface to an object
- Bridge, implementation of an object
- Composite, structure and composition of an object
- Decorator, responsibilities of an object without subclassing
- Façade, interface to a subsystem
- Flyweight, storage costs of objects
- Proxy, how an object is accessed (its location)
- Chain of Responsibility, object that can fulfill a request
- Command, when and how a request is fulfilled
- Interpreter, grammar and interpretation of a language
- Iterator, how an aggregate's elements are accessed
- Mediator, how and which objects interact with each other
- Memento, what private information is stored outside an object, and when
- Observer, how the dependent objects stay up to date
- State, states of an object
- Strategy, an algorithm
- Template Method, steps of an algorithm
- Visitor, operations that can be applied to objects without changing their classes
Design patterns in this repository are based on