├── .gitignore ├── .vscode ├── c_cpp_properties.json ├── launch.json └── tasks.json ├── LICENSE.txt ├── README.md ├── bin └── .gitignore └── src ├── AbstractFactory └── Conceptual │ ├── Output.txt │ └── main.cc ├── Adapter └── Conceptual │ ├── MultipleInheritance │ ├── Output.txt │ └── main.cc │ └── Normal │ ├── Output.txt │ └── main.cc ├── Bridge └── Conceptual │ ├── Output.txt │ └── main.cc ├── Builder ├── Conceptual │ ├── Output.txt │ └── main.cc └── RealWorld │ ├── Output.txt │ └── main.cc ├── ChainOfResponsibility └── Conceptual │ ├── Output.txt │ └── main.cc ├── Command └── Conceptual │ ├── Output.txt │ └── main.cc ├── Composite └── Conceptual │ ├── Output.txt │ └── main.cc ├── Decorator └── Conceptual │ ├── Output.txt │ └── main.cc ├── Facade └── Conceptual │ ├── Output.txt │ └── main.cc ├── FactoryMethod └── Conceptual │ ├── Output.txt │ └── main.cc ├── Flyweight └── Conceptual │ ├── Output.txt │ └── main.cc ├── Iterator └── Conceptual │ ├── Output.txt │ └── main.cc ├── Mediator └── Conceptual │ ├── Output.txt │ └── main.cc ├── Memento └── Conceptual │ ├── Output.txt │ └── main.cc ├── Observer └── Conceptual │ ├── Output.txt │ └── main.cc ├── Prototype └── Conceptual │ ├── Output.txt │ └── main.cc ├── Proxy └── Conceptual │ ├── Output.txt │ └── main.cc ├── Singleton ├── Conceptual │ ├── NonThreadSafe │ │ ├── Output.txt │ │ └── main.cc │ └── ThreadSafe │ │ ├── Output.txt │ │ └── main.cc └── RealWorld │ ├── Output.txt │ └── main.cc ├── State └── Conceptual │ ├── Output.txt │ └── main.cc ├── Strategy └── Conceptual │ ├── Output.txt │ └── main.cc ├── TemplateMethod └── Conceptual │ ├── Output.txt │ └── main.cc └── Visitor ├── Conceptual ├── Output.txt └── main.cc └── RealWorld ├── Output.txt └── main.cc /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | -------------------------------------------------------------------------------- /.vscode/c_cpp_properties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/.vscode/c_cpp_properties.json -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/.vscode/tasks.json -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/README.md -------------------------------------------------------------------------------- /bin/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /src/AbstractFactory/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/AbstractFactory/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/AbstractFactory/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/AbstractFactory/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Adapter/Conceptual/MultipleInheritance/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Adapter/Conceptual/MultipleInheritance/Output.txt -------------------------------------------------------------------------------- /src/Adapter/Conceptual/MultipleInheritance/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Adapter/Conceptual/MultipleInheritance/main.cc -------------------------------------------------------------------------------- /src/Adapter/Conceptual/Normal/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Adapter/Conceptual/Normal/Output.txt -------------------------------------------------------------------------------- /src/Adapter/Conceptual/Normal/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Adapter/Conceptual/Normal/main.cc -------------------------------------------------------------------------------- /src/Bridge/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Bridge/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Bridge/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Bridge/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Builder/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Builder/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Builder/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Builder/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Builder/RealWorld/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Builder/RealWorld/Output.txt -------------------------------------------------------------------------------- /src/Builder/RealWorld/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Builder/RealWorld/main.cc -------------------------------------------------------------------------------- /src/ChainOfResponsibility/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/ChainOfResponsibility/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/ChainOfResponsibility/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/ChainOfResponsibility/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Command/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Command/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Command/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Command/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Composite/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Composite/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Composite/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Composite/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Decorator/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Decorator/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Decorator/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Decorator/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Facade/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Facade/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Facade/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Facade/Conceptual/main.cc -------------------------------------------------------------------------------- /src/FactoryMethod/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/FactoryMethod/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/FactoryMethod/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/FactoryMethod/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Flyweight/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Flyweight/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Flyweight/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Flyweight/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Iterator/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Iterator/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Iterator/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Iterator/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Mediator/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Mediator/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Mediator/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Mediator/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Memento/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Memento/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Memento/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Memento/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Observer/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Observer/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Observer/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Observer/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Prototype/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Prototype/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Prototype/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Prototype/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Proxy/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Proxy/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Proxy/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Proxy/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Singleton/Conceptual/NonThreadSafe/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Singleton/Conceptual/NonThreadSafe/Output.txt -------------------------------------------------------------------------------- /src/Singleton/Conceptual/NonThreadSafe/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Singleton/Conceptual/NonThreadSafe/main.cc -------------------------------------------------------------------------------- /src/Singleton/Conceptual/ThreadSafe/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Singleton/Conceptual/ThreadSafe/Output.txt -------------------------------------------------------------------------------- /src/Singleton/Conceptual/ThreadSafe/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Singleton/Conceptual/ThreadSafe/main.cc -------------------------------------------------------------------------------- /src/Singleton/RealWorld/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Singleton/RealWorld/Output.txt -------------------------------------------------------------------------------- /src/Singleton/RealWorld/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Singleton/RealWorld/main.cc -------------------------------------------------------------------------------- /src/State/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/State/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/State/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/State/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Strategy/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Strategy/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Strategy/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Strategy/Conceptual/main.cc -------------------------------------------------------------------------------- /src/TemplateMethod/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/TemplateMethod/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/TemplateMethod/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/TemplateMethod/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Visitor/Conceptual/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Visitor/Conceptual/Output.txt -------------------------------------------------------------------------------- /src/Visitor/Conceptual/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Visitor/Conceptual/main.cc -------------------------------------------------------------------------------- /src/Visitor/RealWorld/Output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Visitor/RealWorld/Output.txt -------------------------------------------------------------------------------- /src/Visitor/RealWorld/main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-cpp/HEAD/src/Visitor/RealWorld/main.cc --------------------------------------------------------------------------------