design-patterns/README.md
Ruidy bf1d5dd7f0
Memento (#19)
* doc: add documentation

* doc: update general documentation

* add code example
2020-10-03 20:45:32 +02:00

51 lines
1.6 KiB
Markdown

# Design Patterns in Python
Design patterns are typical solutions to common problems
in software design. Each pattern is like a blueprint
that you can customize to solve a particular
design problem in your code.
## Benefits of patterns
Patterns are a toolkit of solutions to common
problems in software design. They define
a common language that helps your team
communicate more efficiently.
## Classification
Design patterns differ by their complexity, level of
detail and scale of applicability. In addition,
they can be categorized by their intent
and divided into three groups.
### [Creational Patterns](creational/README.md)
- [Factory Method](creational/factory_method/README.md)
- [Abstract Factory](creational/abstract_factory/README.md)
- [Builder](creational/builder/README.md)
- [Prototype](creational/prototype/README.md)
- [Singleton](creational/singleton/README.md)
### [Structural Patterns](structural/README.md)
- [Adapter](structural/adapter/README.md)
- [Bridge](structural/bridge/README.md)
- [Composite](structural/composite/README.md)
- [Decorator](structural/decorator/README.md)
- [Facade](structural/facade/README.md)
- [Flyweight](structural/flyweight/README.md)
- [Proxy](structural/proxy/README.md)
### [Behavioral Patterns](behavioral/README.md)
- [Chain of Responsibility](behavioral/chain_responsibility/README.md)
- [Command](behavioral/command/README.md)
- [Iterator](behavioral/iterator/README.md)
- [Mediator](behavioral/mediator/README.md)
- [Memento](behavioral/memento/README.md)
## Resources
- [Refactoring Guru](https://refactoring.guru/design-patterns/catalog)
- [Python Design Patterns](https://python-patterns.guide/)