# 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/)