An open API service indexing awesome lists of open source software.

https://github.com/ehsangazar/design-patterns-cpp

All Design Patterns Samples in C++
https://github.com/ehsangazar/design-patterns-cpp

abstract-factory-pattern adapter-pattern bridge-pattern builder-pattern c-plus-plus chain-of-responsibility-pattern command-pattern composite-patterns decorator-pattern design-pattern facade-pattern factory-method-pattern flyweight-pattern interpreter-pattern iterator-pattern mediator-pattern null-object-pattern prototype-pattern proxy-pattern singleton-pattern

Last synced: 3 months ago
JSON representation

All Design Patterns Samples in C++

Awesome Lists containing this project

README

          

## Design Patterns in C++ with Real Examples

In this repo you can find all familiar design patterns that uses in most C++ frameworks.
Design patterns divided into three categories as below :

Creational
----------

- [**Abstract Factory**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/creational-patterns/abstract-factory.cpp)
- [**Builder**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/creational-patterns/builder.cpp)
- [**Factory Method**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/creational-patterns/factory-method.cpp)
- [**Prototype**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/creational-patterns/prototype.cpp)
- [**Singleton**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/creational-patterns/singleton.cpp)

Structural
----------

- [**Adapter**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/structural-patterns/adapter.cpp)
- [**Bridge**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/structural-patterns/bridge.cpp)
- [**Composite**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/structural-patterns/composite.cpp)
- [**Decorator**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/structural-patterns/decorator.cpp)
- [**Facade**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/structural-patterns/facade.cpp)
- [**Flyweight**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/structural-patterns/flyweight.cpp)
- [**Null Object**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/structural-patterns/null_object.cpp)
- [**Proxy**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/structural-patterns/proxy.cpp)

Behavioral
----------

- [**Chain Of Responsibility**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/behavioral-patterns/chain-of-responsibility.cpp)
- [**Command**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/behavioral-patterns/command.cpp)
- [**Interpreter**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/behavioral-patterns/interpreter.cpp)
- [**Iterator**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/behavioral-patterns/iterator.cpp)
- [**Mediator**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/behavioral-patterns/mediator.cpp)
- [**Momento**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/behavioral-patterns/momento.cpp)
- [**Observer**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/behavioral-patterns/observer.cpp)
- [**State**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/behavioral-patterns/state.cpp)
- [**Strategy**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/behavioral-patterns/strategy.cpp)
- [**Template Method**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/behavioral-patterns/template-method.cpp)
- [**Visitor**](https://github.com/ehsangazar/design-patterns-cpp/blob/master/behavioral-patterns/visitor.cpp)