├── .gitattributes ├── Behavioral ├── Behavioral.sln ├── ChainOfResponsibility │ ├── ChainOfResponsibility.vcxproj │ ├── ChainOfResponsibility.vcxproj.filters │ ├── ChainOfResponsibility.vcxproj.user │ ├── CoRCodingExercise.cpp │ ├── cor_broker.cpp │ └── cor_pointer.cpp ├── Command │ ├── Command.vcxproj │ ├── Command.vcxproj.filters │ ├── Command.vcxproj.user │ ├── CommandCodingExercise.cpp │ ├── command.cpp │ ├── command_composite.cpp │ └── command_undo.cpp ├── Interpreter │ ├── Interpreter.vcxproj │ ├── Interpreter.vcxproj.filters │ ├── Interpreter.vcxproj.user │ ├── InterpreterCodingExercise.cpp │ └── handmade.cpp ├── Iterator │ ├── Iterator.vcxproj │ ├── Iterator.vcxproj.filters │ ├── Iterator.vcxproj.user │ ├── IteratorCodingExercise.cpp │ ├── facade.cpp │ ├── iterator.cpp │ ├── packages.config │ └── recursive_generator.h ├── Mediator │ ├── Mediator.vcxproj │ ├── Mediator.vcxproj.filters │ ├── Mediator.vcxproj.user │ ├── MediatorCodingExercise.cpp │ ├── chat.cpp │ ├── chatroom.cpp │ ├── chatroom.h │ ├── packages.config │ ├── person.cpp │ ├── person.h │ └── soccer.cpp ├── Memento │ ├── Memento.vcxproj │ ├── Memento.vcxproj.filters │ ├── Memento.vcxproj.user │ ├── MementoCodingExercise.cpp │ └── memento.cpp ├── NullObject │ ├── NullObject.vcxproj │ ├── NullObject.vcxproj.filters │ ├── NullObject.vcxproj.user │ └── null_object.cpp ├── Observer │ ├── Observer.vcxproj │ ├── Observer.vcxproj.filters │ ├── Observer.vcxproj.user │ ├── ObserverCodingExercise.cpp │ ├── new │ │ ├── Observable.cpp │ │ ├── Observable.hpp │ │ ├── Observer.cpp │ │ ├── Observer.hpp │ │ ├── SaferObservable.cpp │ │ ├── SaferObservable.hpp │ │ ├── headers.hpp │ │ └── main.cpp │ ├── observer1.cpp │ ├── observer2.cpp │ ├── observer3.cpp │ ├── observer_book.cpp │ └── observer_notes.cpp ├── State │ ├── State.vcxproj │ ├── State.vcxproj.filters │ ├── State.vcxproj.user │ ├── StateCodingExercise.cpp │ ├── classic.cpp │ ├── handmade.cpp │ └── msm.cpp ├── Strategy │ ├── Strategy.vcxproj │ ├── Strategy.vcxproj.filters │ ├── Strategy.vcxproj.user │ ├── StrategyCodingExercise.cpp │ ├── strategy_dynamic.cpp │ └── strategy_static.cpp ├── TemplateMethod │ ├── TemplateMethod.vcxproj │ ├── TemplateMethod.vcxproj.filters │ ├── TemplateMethod.vcxproj.user │ ├── TemplateMethodCodingExercise.cpp │ └── template_method.cpp └── Visitor │ ├── Visitor.vcxproj │ ├── Visitor.vcxproj.filters │ ├── Visitor.vcxproj.user │ ├── VisitorCodingExercise.cpp │ ├── model.hpp │ ├── multimethods.cpp │ ├── single_double.cpp │ ├── std_visit.cpp │ ├── visitor.cpp │ ├── visitor.hpp │ ├── visitor_acyclic.cpp │ ├── visitor_double.cpp │ ├── visitor_intrusive.cpp │ └── visitor_reflective.cpp ├── Contributing.md ├── CppDesignPatterns.sln ├── Creational ├── Creational.sln ├── Creational.tss └── Creational │ ├── AbstractFactory.cpp │ ├── BoostDI.cpp │ ├── BoostDIDemo.hpp │ ├── Builder.cpp │ ├── BuilderCodingExercise.cpp │ ├── CoffeeFactory.h │ ├── CompositeBuilderClassDiagram.mdj │ ├── Creational.vcxproj │ ├── Creational.vcxproj.filters │ ├── Creational.vcxproj.user │ ├── DIP.cpp │ ├── DrinkFactory.h │ ├── Facets.cpp │ ├── Factory.cpp │ ├── FactoryCodingExercise.cpp │ ├── FactoryExercise.h │ ├── FactoryMethod.cpp │ ├── GroovyStyle.cpp │ ├── HotDrink.h │ ├── HotDrinkFactory.h │ ├── ISP.cpp │ ├── InnerFactory.cpp │ ├── LSP.cpp │ ├── MaybeMonad.cpp │ ├── Monostate.cpp │ ├── OCP.cpp │ ├── Person.cpp │ ├── Person.h │ ├── PersonAddressBuilder.h │ ├── PersonBuilder.cpp │ ├── PersonBuilder.h │ ├── PersonJobBuilder.h │ ├── Prototype.cpp │ ├── PrototypeCodingExercise.cpp │ ├── SRP.cpp │ ├── Serialization.cpp │ ├── Singleton.h │ ├── SingletonCodingExercise.cpp │ ├── SingletonTests.cpp │ ├── TeaFactory.h │ ├── UnknownExercise.txt │ ├── capitals.txt │ └── di.h ├── LICENSE.txt ├── README.md └── Structural ├── Adapter ├── .vs │ └── Adapter │ │ └── v14 │ │ └── .suo ├── Adapter.vcxproj ├── Adapter.vcxproj.filters ├── Adapter.vcxproj.user ├── AdapterCodingExercise.cpp └── adapter.cpp ├── AdapterVisual ├── AdapterVisual.aps ├── AdapterVisual.cpp ├── AdapterVisual.h ├── AdapterVisual.rc ├── AdapterVisual.vcxproj ├── AdapterVisual.vcxproj.filters ├── AdapterVisual.vcxproj.user ├── AdapterVisualDlg.cpp ├── AdapterVisualDlg.h ├── Geometry.h ├── Resource.h ├── res │ ├── AdapterVisual.ico │ └── AdapterVisual.rc2 ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── Bridge ├── Bridge.vcxproj ├── Bridge.vcxproj.filters ├── Bridge.vcxproj.user ├── BridgeCodingExercise.cpp ├── Person.cpp ├── Person.h └── bridge.cpp ├── Composite ├── ArrayBackedProps.cpp ├── Composite.vcxproj ├── Composite.vcxproj.filters ├── Composite.vcxproj.user ├── CompositeCodingExercise.cpp ├── composite.cpp ├── graphics.h └── neurons.cpp ├── Decorator ├── Decorator.vcxproj ├── Decorator.vcxproj.filters ├── Decorator.vcxproj.user ├── DecoratorCodingExercise.cpp └── decorator.cpp ├── Façade ├── Bloom.cpp ├── Console.h ├── Façade.vcxproj ├── Façade.vcxproj.filters └── Façade.vcxproj.user ├── Flyweight ├── .vscode │ └── .browse.VC.db ├── Flyweight.vcxproj ├── Flyweight.vcxproj.filters ├── Flyweight.vcxproj.user ├── FlyweightCodingExercise.cpp ├── capitalize.cpp └── flyweight.cpp ├── NullObject ├── .vscode │ └── .browse.VC.db ├── NullObject.vcxproj ├── NullObject.vcxproj.filters ├── NullObject.vcxproj.user └── nullobject.cpp ├── PingPongService ├── Controllers │ └── PingPongController.cs ├── PingPongService.csproj ├── Project_Readme.html ├── Properties │ └── launchSettings.json ├── Startup.cs ├── appsettings.json └── wwwroot │ └── web.config ├── Proxy ├── .vscode │ └── .browse.VC.db ├── Proxy.vcxproj ├── Proxy.vcxproj.filters ├── Proxy.vcxproj.user ├── ProxyCodingExercise.cpp ├── packages.config └── proxy.cpp └── Structural.sln /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/.gitattributes -------------------------------------------------------------------------------- /Behavioral/Behavioral.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Behavioral.sln -------------------------------------------------------------------------------- /Behavioral/ChainOfResponsibility/ChainOfResponsibility.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/ChainOfResponsibility/ChainOfResponsibility.vcxproj -------------------------------------------------------------------------------- /Behavioral/ChainOfResponsibility/ChainOfResponsibility.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/ChainOfResponsibility/ChainOfResponsibility.vcxproj.filters -------------------------------------------------------------------------------- /Behavioral/ChainOfResponsibility/ChainOfResponsibility.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/ChainOfResponsibility/ChainOfResponsibility.vcxproj.user -------------------------------------------------------------------------------- /Behavioral/ChainOfResponsibility/CoRCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/ChainOfResponsibility/CoRCodingExercise.cpp -------------------------------------------------------------------------------- /Behavioral/ChainOfResponsibility/cor_broker.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/ChainOfResponsibility/cor_broker.cpp -------------------------------------------------------------------------------- /Behavioral/ChainOfResponsibility/cor_pointer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/ChainOfResponsibility/cor_pointer.cpp -------------------------------------------------------------------------------- /Behavioral/Command/Command.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Command/Command.vcxproj -------------------------------------------------------------------------------- /Behavioral/Command/Command.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Command/Command.vcxproj.filters -------------------------------------------------------------------------------- /Behavioral/Command/Command.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Command/Command.vcxproj.user -------------------------------------------------------------------------------- /Behavioral/Command/CommandCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Command/CommandCodingExercise.cpp -------------------------------------------------------------------------------- /Behavioral/Command/command.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Command/command.cpp -------------------------------------------------------------------------------- /Behavioral/Command/command_composite.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Command/command_composite.cpp -------------------------------------------------------------------------------- /Behavioral/Command/command_undo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Command/command_undo.cpp -------------------------------------------------------------------------------- /Behavioral/Interpreter/Interpreter.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Interpreter/Interpreter.vcxproj -------------------------------------------------------------------------------- /Behavioral/Interpreter/Interpreter.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Interpreter/Interpreter.vcxproj.filters -------------------------------------------------------------------------------- /Behavioral/Interpreter/Interpreter.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Interpreter/Interpreter.vcxproj.user -------------------------------------------------------------------------------- /Behavioral/Interpreter/InterpreterCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Interpreter/InterpreterCodingExercise.cpp -------------------------------------------------------------------------------- /Behavioral/Interpreter/handmade.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Interpreter/handmade.cpp -------------------------------------------------------------------------------- /Behavioral/Iterator/Iterator.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Iterator/Iterator.vcxproj -------------------------------------------------------------------------------- /Behavioral/Iterator/Iterator.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Iterator/Iterator.vcxproj.filters -------------------------------------------------------------------------------- /Behavioral/Iterator/Iterator.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Iterator/Iterator.vcxproj.user -------------------------------------------------------------------------------- /Behavioral/Iterator/IteratorCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Iterator/IteratorCodingExercise.cpp -------------------------------------------------------------------------------- /Behavioral/Iterator/facade.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Iterator/facade.cpp -------------------------------------------------------------------------------- /Behavioral/Iterator/iterator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Iterator/iterator.cpp -------------------------------------------------------------------------------- /Behavioral/Iterator/packages.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Iterator/packages.config -------------------------------------------------------------------------------- /Behavioral/Iterator/recursive_generator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Iterator/recursive_generator.h -------------------------------------------------------------------------------- /Behavioral/Mediator/Mediator.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Mediator/Mediator.vcxproj -------------------------------------------------------------------------------- /Behavioral/Mediator/Mediator.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Mediator/Mediator.vcxproj.filters -------------------------------------------------------------------------------- /Behavioral/Mediator/Mediator.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Mediator/Mediator.vcxproj.user -------------------------------------------------------------------------------- /Behavioral/Mediator/MediatorCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Mediator/MediatorCodingExercise.cpp -------------------------------------------------------------------------------- /Behavioral/Mediator/chat.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Mediator/chat.cpp -------------------------------------------------------------------------------- /Behavioral/Mediator/chatroom.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Mediator/chatroom.cpp -------------------------------------------------------------------------------- /Behavioral/Mediator/chatroom.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Mediator/chatroom.h -------------------------------------------------------------------------------- /Behavioral/Mediator/packages.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Mediator/packages.config -------------------------------------------------------------------------------- /Behavioral/Mediator/person.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Mediator/person.cpp -------------------------------------------------------------------------------- /Behavioral/Mediator/person.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Mediator/person.h -------------------------------------------------------------------------------- /Behavioral/Mediator/soccer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Mediator/soccer.cpp -------------------------------------------------------------------------------- /Behavioral/Memento/Memento.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Memento/Memento.vcxproj -------------------------------------------------------------------------------- /Behavioral/Memento/Memento.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Memento/Memento.vcxproj.filters -------------------------------------------------------------------------------- /Behavioral/Memento/Memento.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Memento/Memento.vcxproj.user -------------------------------------------------------------------------------- /Behavioral/Memento/MementoCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Memento/MementoCodingExercise.cpp -------------------------------------------------------------------------------- /Behavioral/Memento/memento.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Memento/memento.cpp -------------------------------------------------------------------------------- /Behavioral/NullObject/NullObject.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/NullObject/NullObject.vcxproj -------------------------------------------------------------------------------- /Behavioral/NullObject/NullObject.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/NullObject/NullObject.vcxproj.filters -------------------------------------------------------------------------------- /Behavioral/NullObject/NullObject.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/NullObject/NullObject.vcxproj.user -------------------------------------------------------------------------------- /Behavioral/NullObject/null_object.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/NullObject/null_object.cpp -------------------------------------------------------------------------------- /Behavioral/Observer/Observer.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/Observer.vcxproj -------------------------------------------------------------------------------- /Behavioral/Observer/Observer.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/Observer.vcxproj.filters -------------------------------------------------------------------------------- /Behavioral/Observer/Observer.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/Observer.vcxproj.user -------------------------------------------------------------------------------- /Behavioral/Observer/ObserverCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/ObserverCodingExercise.cpp -------------------------------------------------------------------------------- /Behavioral/Observer/new/Observable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/new/Observable.cpp -------------------------------------------------------------------------------- /Behavioral/Observer/new/Observable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/new/Observable.hpp -------------------------------------------------------------------------------- /Behavioral/Observer/new/Observer.cpp: -------------------------------------------------------------------------------- 1 | #include "Observer.hpp" 2 | -------------------------------------------------------------------------------- /Behavioral/Observer/new/Observer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/new/Observer.hpp -------------------------------------------------------------------------------- /Behavioral/Observer/new/SaferObservable.cpp: -------------------------------------------------------------------------------- 1 | #include "SaferObservable.hpp" 2 | -------------------------------------------------------------------------------- /Behavioral/Observer/new/SaferObservable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/new/SaferObservable.hpp -------------------------------------------------------------------------------- /Behavioral/Observer/new/headers.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/new/headers.hpp -------------------------------------------------------------------------------- /Behavioral/Observer/new/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/new/main.cpp -------------------------------------------------------------------------------- /Behavioral/Observer/observer1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/observer1.cpp -------------------------------------------------------------------------------- /Behavioral/Observer/observer2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/observer2.cpp -------------------------------------------------------------------------------- /Behavioral/Observer/observer3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/observer3.cpp -------------------------------------------------------------------------------- /Behavioral/Observer/observer_book.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/observer_book.cpp -------------------------------------------------------------------------------- /Behavioral/Observer/observer_notes.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Observer/observer_notes.cpp -------------------------------------------------------------------------------- /Behavioral/State/State.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/State/State.vcxproj -------------------------------------------------------------------------------- /Behavioral/State/State.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/State/State.vcxproj.filters -------------------------------------------------------------------------------- /Behavioral/State/State.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/State/State.vcxproj.user -------------------------------------------------------------------------------- /Behavioral/State/StateCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/State/StateCodingExercise.cpp -------------------------------------------------------------------------------- /Behavioral/State/classic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/State/classic.cpp -------------------------------------------------------------------------------- /Behavioral/State/handmade.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/State/handmade.cpp -------------------------------------------------------------------------------- /Behavioral/State/msm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/State/msm.cpp -------------------------------------------------------------------------------- /Behavioral/Strategy/Strategy.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Strategy/Strategy.vcxproj -------------------------------------------------------------------------------- /Behavioral/Strategy/Strategy.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Strategy/Strategy.vcxproj.filters -------------------------------------------------------------------------------- /Behavioral/Strategy/Strategy.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Strategy/Strategy.vcxproj.user -------------------------------------------------------------------------------- /Behavioral/Strategy/StrategyCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Strategy/StrategyCodingExercise.cpp -------------------------------------------------------------------------------- /Behavioral/Strategy/strategy_dynamic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Strategy/strategy_dynamic.cpp -------------------------------------------------------------------------------- /Behavioral/Strategy/strategy_static.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Strategy/strategy_static.cpp -------------------------------------------------------------------------------- /Behavioral/TemplateMethod/TemplateMethod.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/TemplateMethod/TemplateMethod.vcxproj -------------------------------------------------------------------------------- /Behavioral/TemplateMethod/TemplateMethod.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/TemplateMethod/TemplateMethod.vcxproj.filters -------------------------------------------------------------------------------- /Behavioral/TemplateMethod/TemplateMethod.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/TemplateMethod/TemplateMethod.vcxproj.user -------------------------------------------------------------------------------- /Behavioral/TemplateMethod/TemplateMethodCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/TemplateMethod/TemplateMethodCodingExercise.cpp -------------------------------------------------------------------------------- /Behavioral/TemplateMethod/template_method.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/TemplateMethod/template_method.cpp -------------------------------------------------------------------------------- /Behavioral/Visitor/Visitor.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/Visitor.vcxproj -------------------------------------------------------------------------------- /Behavioral/Visitor/Visitor.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/Visitor.vcxproj.filters -------------------------------------------------------------------------------- /Behavioral/Visitor/Visitor.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/Visitor.vcxproj.user -------------------------------------------------------------------------------- /Behavioral/Visitor/VisitorCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/VisitorCodingExercise.cpp -------------------------------------------------------------------------------- /Behavioral/Visitor/model.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/model.hpp -------------------------------------------------------------------------------- /Behavioral/Visitor/multimethods.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/multimethods.cpp -------------------------------------------------------------------------------- /Behavioral/Visitor/single_double.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/single_double.cpp -------------------------------------------------------------------------------- /Behavioral/Visitor/std_visit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/std_visit.cpp -------------------------------------------------------------------------------- /Behavioral/Visitor/visitor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/visitor.cpp -------------------------------------------------------------------------------- /Behavioral/Visitor/visitor.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/visitor.hpp -------------------------------------------------------------------------------- /Behavioral/Visitor/visitor_acyclic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/visitor_acyclic.cpp -------------------------------------------------------------------------------- /Behavioral/Visitor/visitor_double.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/visitor_double.cpp -------------------------------------------------------------------------------- /Behavioral/Visitor/visitor_intrusive.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/visitor_intrusive.cpp -------------------------------------------------------------------------------- /Behavioral/Visitor/visitor_reflective.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Behavioral/Visitor/visitor_reflective.cpp -------------------------------------------------------------------------------- /Contributing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Contributing.md -------------------------------------------------------------------------------- /CppDesignPatterns.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/CppDesignPatterns.sln -------------------------------------------------------------------------------- /Creational/Creational.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational.sln -------------------------------------------------------------------------------- /Creational/Creational.tss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational.tss -------------------------------------------------------------------------------- /Creational/Creational/AbstractFactory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/AbstractFactory.cpp -------------------------------------------------------------------------------- /Creational/Creational/BoostDI.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/BoostDI.cpp -------------------------------------------------------------------------------- /Creational/Creational/BoostDIDemo.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/BoostDIDemo.hpp -------------------------------------------------------------------------------- /Creational/Creational/Builder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/Builder.cpp -------------------------------------------------------------------------------- /Creational/Creational/BuilderCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/BuilderCodingExercise.cpp -------------------------------------------------------------------------------- /Creational/Creational/CoffeeFactory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/CoffeeFactory.h -------------------------------------------------------------------------------- /Creational/Creational/CompositeBuilderClassDiagram.mdj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/CompositeBuilderClassDiagram.mdj -------------------------------------------------------------------------------- /Creational/Creational/Creational.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/Creational.vcxproj -------------------------------------------------------------------------------- /Creational/Creational/Creational.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/Creational.vcxproj.filters -------------------------------------------------------------------------------- /Creational/Creational/Creational.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/Creational.vcxproj.user -------------------------------------------------------------------------------- /Creational/Creational/DIP.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/DIP.cpp -------------------------------------------------------------------------------- /Creational/Creational/DrinkFactory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/DrinkFactory.h -------------------------------------------------------------------------------- /Creational/Creational/Facets.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/Facets.cpp -------------------------------------------------------------------------------- /Creational/Creational/Factory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/Factory.cpp -------------------------------------------------------------------------------- /Creational/Creational/FactoryCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/FactoryCodingExercise.cpp -------------------------------------------------------------------------------- /Creational/Creational/FactoryExercise.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class FactoryExercise 4 | { 5 | public: 6 | 7 | }; 8 | -------------------------------------------------------------------------------- /Creational/Creational/FactoryMethod.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/FactoryMethod.cpp -------------------------------------------------------------------------------- /Creational/Creational/GroovyStyle.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/GroovyStyle.cpp -------------------------------------------------------------------------------- /Creational/Creational/HotDrink.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/HotDrink.h -------------------------------------------------------------------------------- /Creational/Creational/HotDrinkFactory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/HotDrinkFactory.h -------------------------------------------------------------------------------- /Creational/Creational/ISP.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/ISP.cpp -------------------------------------------------------------------------------- /Creational/Creational/InnerFactory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/InnerFactory.cpp -------------------------------------------------------------------------------- /Creational/Creational/LSP.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/LSP.cpp -------------------------------------------------------------------------------- /Creational/Creational/MaybeMonad.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/MaybeMonad.cpp -------------------------------------------------------------------------------- /Creational/Creational/Monostate.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/Monostate.cpp -------------------------------------------------------------------------------- /Creational/Creational/OCP.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/OCP.cpp -------------------------------------------------------------------------------- /Creational/Creational/Person.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/Person.cpp -------------------------------------------------------------------------------- /Creational/Creational/Person.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/Person.h -------------------------------------------------------------------------------- /Creational/Creational/PersonAddressBuilder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/PersonAddressBuilder.h -------------------------------------------------------------------------------- /Creational/Creational/PersonBuilder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/PersonBuilder.cpp -------------------------------------------------------------------------------- /Creational/Creational/PersonBuilder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/PersonBuilder.h -------------------------------------------------------------------------------- /Creational/Creational/PersonJobBuilder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/PersonJobBuilder.h -------------------------------------------------------------------------------- /Creational/Creational/Prototype.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/Prototype.cpp -------------------------------------------------------------------------------- /Creational/Creational/PrototypeCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/PrototypeCodingExercise.cpp -------------------------------------------------------------------------------- /Creational/Creational/SRP.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/SRP.cpp -------------------------------------------------------------------------------- /Creational/Creational/Serialization.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/Serialization.cpp -------------------------------------------------------------------------------- /Creational/Creational/Singleton.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/Singleton.h -------------------------------------------------------------------------------- /Creational/Creational/SingletonCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/SingletonCodingExercise.cpp -------------------------------------------------------------------------------- /Creational/Creational/SingletonTests.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/SingletonTests.cpp -------------------------------------------------------------------------------- /Creational/Creational/TeaFactory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/TeaFactory.h -------------------------------------------------------------------------------- /Creational/Creational/UnknownExercise.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/UnknownExercise.txt -------------------------------------------------------------------------------- /Creational/Creational/capitals.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/capitals.txt -------------------------------------------------------------------------------- /Creational/Creational/di.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Creational/Creational/di.h -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/README.md -------------------------------------------------------------------------------- /Structural/Adapter/.vs/Adapter/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Adapter/.vs/Adapter/v14/.suo -------------------------------------------------------------------------------- /Structural/Adapter/Adapter.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Adapter/Adapter.vcxproj -------------------------------------------------------------------------------- /Structural/Adapter/Adapter.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Adapter/Adapter.vcxproj.filters -------------------------------------------------------------------------------- /Structural/Adapter/Adapter.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Adapter/Adapter.vcxproj.user -------------------------------------------------------------------------------- /Structural/Adapter/AdapterCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Adapter/AdapterCodingExercise.cpp -------------------------------------------------------------------------------- /Structural/Adapter/adapter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Adapter/adapter.cpp -------------------------------------------------------------------------------- /Structural/AdapterVisual/AdapterVisual.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/AdapterVisual.aps -------------------------------------------------------------------------------- /Structural/AdapterVisual/AdapterVisual.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/AdapterVisual.cpp -------------------------------------------------------------------------------- /Structural/AdapterVisual/AdapterVisual.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/AdapterVisual.h -------------------------------------------------------------------------------- /Structural/AdapterVisual/AdapterVisual.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/AdapterVisual.rc -------------------------------------------------------------------------------- /Structural/AdapterVisual/AdapterVisual.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/AdapterVisual.vcxproj -------------------------------------------------------------------------------- /Structural/AdapterVisual/AdapterVisual.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/AdapterVisual.vcxproj.filters -------------------------------------------------------------------------------- /Structural/AdapterVisual/AdapterVisual.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/AdapterVisual.vcxproj.user -------------------------------------------------------------------------------- /Structural/AdapterVisual/AdapterVisualDlg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/AdapterVisualDlg.cpp -------------------------------------------------------------------------------- /Structural/AdapterVisual/AdapterVisualDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/AdapterVisualDlg.h -------------------------------------------------------------------------------- /Structural/AdapterVisual/Geometry.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/Geometry.h -------------------------------------------------------------------------------- /Structural/AdapterVisual/Resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/Resource.h -------------------------------------------------------------------------------- /Structural/AdapterVisual/res/AdapterVisual.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/res/AdapterVisual.ico -------------------------------------------------------------------------------- /Structural/AdapterVisual/res/AdapterVisual.rc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/res/AdapterVisual.rc2 -------------------------------------------------------------------------------- /Structural/AdapterVisual/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/stdafx.cpp -------------------------------------------------------------------------------- /Structural/AdapterVisual/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/stdafx.h -------------------------------------------------------------------------------- /Structural/AdapterVisual/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/AdapterVisual/targetver.h -------------------------------------------------------------------------------- /Structural/Bridge/Bridge.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Bridge/Bridge.vcxproj -------------------------------------------------------------------------------- /Structural/Bridge/Bridge.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Bridge/Bridge.vcxproj.filters -------------------------------------------------------------------------------- /Structural/Bridge/Bridge.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Bridge/Bridge.vcxproj.user -------------------------------------------------------------------------------- /Structural/Bridge/BridgeCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Bridge/BridgeCodingExercise.cpp -------------------------------------------------------------------------------- /Structural/Bridge/Person.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Bridge/Person.cpp -------------------------------------------------------------------------------- /Structural/Bridge/Person.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Bridge/Person.h -------------------------------------------------------------------------------- /Structural/Bridge/bridge.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Bridge/bridge.cpp -------------------------------------------------------------------------------- /Structural/Composite/ArrayBackedProps.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Composite/ArrayBackedProps.cpp -------------------------------------------------------------------------------- /Structural/Composite/Composite.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Composite/Composite.vcxproj -------------------------------------------------------------------------------- /Structural/Composite/Composite.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Composite/Composite.vcxproj.filters -------------------------------------------------------------------------------- /Structural/Composite/Composite.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Composite/Composite.vcxproj.user -------------------------------------------------------------------------------- /Structural/Composite/CompositeCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Composite/CompositeCodingExercise.cpp -------------------------------------------------------------------------------- /Structural/Composite/composite.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Composite/composite.cpp -------------------------------------------------------------------------------- /Structural/Composite/graphics.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Composite/graphics.h -------------------------------------------------------------------------------- /Structural/Composite/neurons.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Composite/neurons.cpp -------------------------------------------------------------------------------- /Structural/Decorator/Decorator.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Decorator/Decorator.vcxproj -------------------------------------------------------------------------------- /Structural/Decorator/Decorator.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Decorator/Decorator.vcxproj.filters -------------------------------------------------------------------------------- /Structural/Decorator/Decorator.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Decorator/Decorator.vcxproj.user -------------------------------------------------------------------------------- /Structural/Decorator/DecoratorCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Decorator/DecoratorCodingExercise.cpp -------------------------------------------------------------------------------- /Structural/Decorator/decorator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Decorator/decorator.cpp -------------------------------------------------------------------------------- /Structural/Façade/Bloom.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Façade/Bloom.cpp -------------------------------------------------------------------------------- /Structural/Façade/Console.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Façade/Console.h -------------------------------------------------------------------------------- /Structural/Façade/Façade.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Façade/Façade.vcxproj -------------------------------------------------------------------------------- /Structural/Façade/Façade.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Façade/Façade.vcxproj.filters -------------------------------------------------------------------------------- /Structural/Façade/Façade.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Façade/Façade.vcxproj.user -------------------------------------------------------------------------------- /Structural/Flyweight/.vscode/.browse.VC.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Flyweight/.vscode/.browse.VC.db -------------------------------------------------------------------------------- /Structural/Flyweight/Flyweight.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Flyweight/Flyweight.vcxproj -------------------------------------------------------------------------------- /Structural/Flyweight/Flyweight.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Flyweight/Flyweight.vcxproj.filters -------------------------------------------------------------------------------- /Structural/Flyweight/Flyweight.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Flyweight/Flyweight.vcxproj.user -------------------------------------------------------------------------------- /Structural/Flyweight/FlyweightCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Flyweight/FlyweightCodingExercise.cpp -------------------------------------------------------------------------------- /Structural/Flyweight/capitalize.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Flyweight/capitalize.cpp -------------------------------------------------------------------------------- /Structural/Flyweight/flyweight.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Flyweight/flyweight.cpp -------------------------------------------------------------------------------- /Structural/NullObject/.vscode/.browse.VC.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/NullObject/.vscode/.browse.VC.db -------------------------------------------------------------------------------- /Structural/NullObject/NullObject.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/NullObject/NullObject.vcxproj -------------------------------------------------------------------------------- /Structural/NullObject/NullObject.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/NullObject/NullObject.vcxproj.filters -------------------------------------------------------------------------------- /Structural/NullObject/NullObject.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/NullObject/NullObject.vcxproj.user -------------------------------------------------------------------------------- /Structural/NullObject/nullobject.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/NullObject/nullobject.cpp -------------------------------------------------------------------------------- /Structural/PingPongService/Controllers/PingPongController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/PingPongService/Controllers/PingPongController.cs -------------------------------------------------------------------------------- /Structural/PingPongService/PingPongService.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/PingPongService/PingPongService.csproj -------------------------------------------------------------------------------- /Structural/PingPongService/Project_Readme.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/PingPongService/Project_Readme.html -------------------------------------------------------------------------------- /Structural/PingPongService/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/PingPongService/Properties/launchSettings.json -------------------------------------------------------------------------------- /Structural/PingPongService/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/PingPongService/Startup.cs -------------------------------------------------------------------------------- /Structural/PingPongService/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/PingPongService/appsettings.json -------------------------------------------------------------------------------- /Structural/PingPongService/wwwroot/web.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/PingPongService/wwwroot/web.config -------------------------------------------------------------------------------- /Structural/Proxy/.vscode/.browse.VC.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Proxy/.vscode/.browse.VC.db -------------------------------------------------------------------------------- /Structural/Proxy/Proxy.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Proxy/Proxy.vcxproj -------------------------------------------------------------------------------- /Structural/Proxy/Proxy.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Proxy/Proxy.vcxproj.filters -------------------------------------------------------------------------------- /Structural/Proxy/Proxy.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Proxy/Proxy.vcxproj.user -------------------------------------------------------------------------------- /Structural/Proxy/ProxyCodingExercise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Proxy/ProxyCodingExercise.cpp -------------------------------------------------------------------------------- /Structural/Proxy/packages.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Proxy/packages.config -------------------------------------------------------------------------------- /Structural/Proxy/proxy.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Proxy/proxy.cpp -------------------------------------------------------------------------------- /Structural/Structural.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/design-patterns-in-modern-cpp/HEAD/Structural/Structural.sln --------------------------------------------------------------------------------