design-patterns
design-patterns copied to clipboard
C++ Implementation for 23 Design Patterns
C++ Design Patterns
C++ Implementation for 23 Design Patterns
Creational 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

Structural Patterns
- 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)

Behavioral Patterns
- 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
References
Design patterns in this repository are based on