https://github.com/edson-a-soares/gof_design_patterns
GoF Design Patterns implemented in modern C++.
https://github.com/edson-a-soares/gof_design_patterns
best-practices design-patterns gof-patterns modern-cpp oo-design oo-programming oop-principles software-patterns
Last synced: 10 months ago
JSON representation
GoF Design Patterns implemented in modern C++.
- Host: GitHub
- URL: https://github.com/edson-a-soares/gof_design_patterns
- Owner: edson-a-soares
- License: apache-2.0
- Created: 2017-08-31T00:44:25.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-05-27T13:49:14.000Z (almost 7 years ago)
- Last Synced: 2025-04-19T22:02:22.042Z (11 months ago)
- Topics: best-practices, design-patterns, gof-patterns, modern-cpp, oo-design, oo-programming, oop-principles, software-patterns
- Language: C++
- Homepage:
- Size: 107 KB
- Stars: 23
- Watchers: 3
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
## Introduction
Samples of the 23 [GoF design patterns](https://en.wikipedia.org/wiki/Design_Patterns) implemented in modern C++.
#### Creational Patterns ####
* [Abstract Factory](AbstractFactory)
* [Builder](Builder)
* [Factory Method](FactoryMethod)
* [Prototype](Prototype)
* [Singleton](Singleton)
#### Structural Patterns ####
* [Adapter](Adapter)
* [Bridge](Bridge)
* [Composite](Composite)
* [Decorator](Decorator)
* [Facade](Facade)
* [Flyweight](Flyweight)
* [Proxy](Proxy)
#### Behavioral Patterns ####
* [Chain Of Responsibility](ChainOfResponsibility)
* [Command](Command)
* [Interpreter](Interpreter)
* [Iterator](Iterator)
* [Mediator](Mediator)
* [Memento](Memento)
* [Observer](Observer)
* [State](State)
* [Strategy](Strategy)
* [Template Method](TemplateMethod)
* [Visitor](Visitor)
### Useful links ###
* [Google Test](https://github.com/google/googletest/blob/master/googletest/docs/Primer.md)
### References ###
* **Alexandrescu, Andrei**, [Modern C++ Design: Generic Programming and Design Patterns Applied](https://www.amazon.com/Modern-Design-Generic-Programming-Patterns/dp/0201704315/ref=sr_1_1)
* **GAMMA, Erich** et al, [Design Patterns: Elements of Reusable Object-Oriented Software](https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612)
* **Martin, Robert**, [Agile Principles, Patterns, and Practices in C#](https://www.amazon.com/Agile-Principles-Patterns-Practices-C/dp/0131857258)
* **Sierra, Kathy** et al, [Head First Design Patterns](https://www.amazon.com/Head-First-Design-Patterns/dp/0596007124)