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

https://github.com/avidlearnerinprogress/design-patterns

Grokking design patterns in python
https://github.com/avidlearnerinprogress/design-patterns

architecture design-patterns python

Last synced: 4 months ago
JSON representation

Grokking design patterns in python

Awesome Lists containing this project

README

          

Pydesignpatterns
================

## Python module to learn all design patterns on the go!

- Reworking on each pattern after 2 years, Lets start again, one at a time! :grin:

### Todo

- [x] Creational Design Patterns
- [x] Singleton
- [x] [Generic](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/singleton_naive.py)
- [x] [Lazy instantiation](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/singleton_lazy_instantiation.py)
- [x] [Decorated](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/singleton_decorator.py)
- [x] [Metaclass](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/singleton_metaclass.py)
- [x] [Threaded](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/singleton_thread.py)
- [x] **Example:** *[Counter](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/singleton_counter.py)*
- [x] Simple Factory
- [x] [Generic](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/simplefactory_naive.py)
- [x] **Examples:**
- [x] *[Pizza](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/simplefactory_pizza.py)*
- [x] *[Burger](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/simplefactory_burger.py)*
- [x] Factory Method
- [x] [Generic](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/factorymethod_naive.py)
- [x] **Examples:**
- [x] *[Car](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/factorymethod_car.py)*
- [x] *[Cellphone](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/factorymethod_cellphone.py)*
- [x] Abstract Factory
- [x] [Generic](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/abstractfactory_naive.py)
- [x] **Example:** *[Shape](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/abstractfactory_shape.py)*
- [x] Builder
- [x] [Generic](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/builder_naive.py)
- [x] **Example:** *[Aircraft](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/builder_aircraft.py)*
- [x] Prototype
- [x] [Generic](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/prototype_naive.py)
- [x] **Example:** *[Shape](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/creational/prototype_shape.py)*

- [ ] Behavioral Design Patterns
- [ ] Chain Of Responsibility
- [ ] [Generic]()
- [x] **Example:** *[Planet](https://github.com/avidLearnerInProgress/design-patterns/blob/master/pydesignpatterns/behavioral/chain_of_responsibility_planet.py)*

- [ ] Structural Design Patterns
- [ ] Concurrency Design Patterns

#### Inspired by [Omkar Pathak's](https://github.com/OmkarPathak/) [pygorithm](https://github.com/OmkarPathak/pygorithm)