mirror of
https://github.com/JakubVojvoda/design-patterns-cpp.git
synced 2025-12-17 04:44:36 +03:00
73 lines
3.5 KiB
Markdown
73 lines
3.5 KiB
Markdown
## C++ Design Patterns
|
|
|
|
Software design patterns are general reusable solutions to problems which occur
|
|
over and over again in object-oriented design enviroment. It is not a finished
|
|
design that can be transformed into source code directly, but it is template how
|
|
to solve the problem. Templates in this repository are based mainly on book
|
|
[Design Patterns by The "Gang of Four"]. We can classify them by purpose
|
|
into creational (abstract the instantiation process), structure (how classes and
|
|
objects are composed to form larger structures) and behavioral patterns (the
|
|
assignment of responsibilities between objects).
|
|
|
|
- Creational Patterns
|
|
- [Abstract Factory]
|
|
- [Builder]
|
|
- [Factory Method]
|
|
- [Prototype]
|
|
- [Singleton]
|
|
- Structural Patterns
|
|
- [Adapter]
|
|
- [Bridge]
|
|
- [Composite]
|
|
- [Decorator]
|
|
- [Façade]
|
|
- [Flyweight]
|
|
- [Proxy]
|
|
- Behavioral Patterns
|
|
- [Chain of Responsibility]
|
|
- [Command]
|
|
- [Interpreter]
|
|
- [Iterator]
|
|
- [Mediator]
|
|
- [Memento]
|
|
- [Observer]
|
|
- [State]
|
|
- [Strategy]
|
|
- [Template Method]
|
|
- [Visitor]
|
|
|
|
### Other Languages
|
|
In my repository you can find implementation of desgin patterns also in languages as
|
|
|
|
* [Design Patterns in C++]
|
|
* [Design Patterns in Java]
|
|
* [Design Patterns in Python]
|
|
|
|
[Design Patterns in C++]: https://github.com/JakubVojvoda/design-patterns-cpp
|
|
[Design Patterns in Java]: https://github.com/JakubVojvoda/design-patterns-java
|
|
[Design Patterns in Python]: https://github.com/JakubVojvoda/design-patterns-python
|
|
[Design Patterns by The "Gang of Four"]: https://en.wikipedia.org/wiki/Design_Patterns
|
|
[Abstract Factory]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/abstract-factory
|
|
[Builder]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/builder
|
|
[Factory Method]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/factory-method
|
|
[Prototype]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/prototype
|
|
[Singleton]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/singleton
|
|
[Adapter]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/adapter
|
|
[Bridge]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/bridge
|
|
[Composite]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/composite
|
|
[Decorator]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/decorator
|
|
[Façade]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/facade
|
|
[Flyweight]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/flyweight
|
|
[Proxy]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/proxy
|
|
[Chain of Responsibility]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/chain-of-responsibility
|
|
[Command]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/command
|
|
[Interpreter]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/interpreter
|
|
[Iterator]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/iterator
|
|
[Mediator]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/mediator
|
|
[Memento]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/memento
|
|
[Observer]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/observer
|
|
[State]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/state
|
|
[Strategy]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/strategy
|
|
[Template Method]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/template-method
|
|
[Visitor]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/visitor
|