├── .gitattributes ├── .gitignore ├── .travis.yml ├── CMakeLists.txt ├── LICENSE ├── README.md ├── docs ├── _config.yml ├── behavioral_pattern │ ├── chain_of_responsibility.md │ ├── command.md │ ├── interpreter.md │ ├── iterator.md │ ├── mediator.md │ ├── memento.md │ ├── observer.md │ ├── state.md │ ├── strategy.md │ ├── template_method.md │ └── visitor.md ├── creational_pattern │ ├── abstract_factory.md │ ├── builder.md │ ├── factory_method.md │ ├── prototype.md │ └── singleton.md ├── index.md └── structural_pattern │ ├── adapter.md │ ├── bridge.md │ ├── composite.md │ ├── decorator.md │ ├── facade.md │ ├── flyweight.md │ └── proxy.md └── src ├── abstract_factory.cpp ├── adapter.cpp ├── bridge.cpp ├── builder.cpp ├── chain_of_responsibility.cpp ├── command.cpp ├── composite.cpp ├── decorator.cpp ├── facade.cpp ├── factory_method.cpp ├── flyweight.cpp ├── interpreter.cpp ├── iterator.cpp ├── mediator.cpp ├── memento.cpp ├── observer.cpp ├── prototype.cpp ├── proxy.cpp ├── singleton.cpp ├── state.cpp ├── strategy.cpp ├── template_method.cpp └── visitor.cpp /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | build -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/.travis.yml -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/README.md -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/_config.yml -------------------------------------------------------------------------------- /docs/behavioral_pattern/chain_of_responsibility.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/behavioral_pattern/chain_of_responsibility.md -------------------------------------------------------------------------------- /docs/behavioral_pattern/command.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/behavioral_pattern/command.md -------------------------------------------------------------------------------- /docs/behavioral_pattern/interpreter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/behavioral_pattern/interpreter.md -------------------------------------------------------------------------------- /docs/behavioral_pattern/iterator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/behavioral_pattern/iterator.md -------------------------------------------------------------------------------- /docs/behavioral_pattern/mediator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/behavioral_pattern/mediator.md -------------------------------------------------------------------------------- /docs/behavioral_pattern/memento.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/behavioral_pattern/memento.md -------------------------------------------------------------------------------- /docs/behavioral_pattern/observer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/behavioral_pattern/observer.md -------------------------------------------------------------------------------- /docs/behavioral_pattern/state.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/behavioral_pattern/state.md -------------------------------------------------------------------------------- /docs/behavioral_pattern/strategy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/behavioral_pattern/strategy.md -------------------------------------------------------------------------------- /docs/behavioral_pattern/template_method.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/behavioral_pattern/template_method.md -------------------------------------------------------------------------------- /docs/behavioral_pattern/visitor.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/behavioral_pattern/visitor.md -------------------------------------------------------------------------------- /docs/creational_pattern/abstract_factory.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/creational_pattern/abstract_factory.md -------------------------------------------------------------------------------- /docs/creational_pattern/builder.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/creational_pattern/builder.md -------------------------------------------------------------------------------- /docs/creational_pattern/factory_method.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/creational_pattern/factory_method.md -------------------------------------------------------------------------------- /docs/creational_pattern/prototype.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/creational_pattern/prototype.md -------------------------------------------------------------------------------- /docs/creational_pattern/singleton.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/creational_pattern/singleton.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/structural_pattern/adapter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/structural_pattern/adapter.md -------------------------------------------------------------------------------- /docs/structural_pattern/bridge.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/structural_pattern/bridge.md -------------------------------------------------------------------------------- /docs/structural_pattern/composite.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/structural_pattern/composite.md -------------------------------------------------------------------------------- /docs/structural_pattern/decorator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/structural_pattern/decorator.md -------------------------------------------------------------------------------- /docs/structural_pattern/facade.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/structural_pattern/facade.md -------------------------------------------------------------------------------- /docs/structural_pattern/flyweight.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/structural_pattern/flyweight.md -------------------------------------------------------------------------------- /docs/structural_pattern/proxy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/docs/structural_pattern/proxy.md -------------------------------------------------------------------------------- /src/abstract_factory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/abstract_factory.cpp -------------------------------------------------------------------------------- /src/adapter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/adapter.cpp -------------------------------------------------------------------------------- /src/bridge.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/bridge.cpp -------------------------------------------------------------------------------- /src/builder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/builder.cpp -------------------------------------------------------------------------------- /src/chain_of_responsibility.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/chain_of_responsibility.cpp -------------------------------------------------------------------------------- /src/command.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/command.cpp -------------------------------------------------------------------------------- /src/composite.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/composite.cpp -------------------------------------------------------------------------------- /src/decorator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/decorator.cpp -------------------------------------------------------------------------------- /src/facade.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/facade.cpp -------------------------------------------------------------------------------- /src/factory_method.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/factory_method.cpp -------------------------------------------------------------------------------- /src/flyweight.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/flyweight.cpp -------------------------------------------------------------------------------- /src/interpreter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/interpreter.cpp -------------------------------------------------------------------------------- /src/iterator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/iterator.cpp -------------------------------------------------------------------------------- /src/mediator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/mediator.cpp -------------------------------------------------------------------------------- /src/memento.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/memento.cpp -------------------------------------------------------------------------------- /src/observer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/observer.cpp -------------------------------------------------------------------------------- /src/prototype.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/prototype.cpp -------------------------------------------------------------------------------- /src/proxy.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/proxy.cpp -------------------------------------------------------------------------------- /src/singleton.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/singleton.cpp -------------------------------------------------------------------------------- /src/state.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/state.cpp -------------------------------------------------------------------------------- /src/strategy.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/strategy.cpp -------------------------------------------------------------------------------- /src/template_method.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/template_method.cpp -------------------------------------------------------------------------------- /src/visitor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/Design-Patterns-in-Cpp17/HEAD/src/visitor.cpp --------------------------------------------------------------------------------