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

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++.

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)