mirror of
https://github.com/JakubVojvoda/design-patterns-cpp.git
synced 2025-12-18 05:14:36 +03:00
73 lines
3.7 KiB
Markdown
73 lines
3.7 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] (todo)
|
|
- [Builder] (todo)
|
|
- [Factory Method] (todo)
|
|
- [Prototype] (todo)
|
|
- [Singleton] (todo)
|
|
- Structural Patterns
|
|
- [Adapter] (todo)
|
|
- [Bridge] (todo)
|
|
- [Composite] (todo)
|
|
- [Decorator] (todo)
|
|
- [Façade] (todo)
|
|
- [Flyweight] (todo)
|
|
- [Proxy] (todo)
|
|
- Behavioral Patterns
|
|
- [Chain of Responsibility] (todo)
|
|
- [Command] (todo)
|
|
- [Interpreter] (todo)
|
|
- [Iterator] (todo)
|
|
- [Mediator] (todo)
|
|
- [Memento] (todo)
|
|
- [Observer] (todo)
|
|
- [State] (todo)
|
|
- [Strategy] (todo)
|
|
- [Template Method] (todo)
|
|
- [Visitor] (todo)
|
|
|
|
### 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
|