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
- Host: GitHub
- URL: https://github.com/avidlearnerinprogress/design-patterns
- Owner: avidLearnerInProgress
- License: gpl-3.0
- Created: 2018-07-10T14:22:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-02-22T20:16:43.000Z (almost 5 years ago)
- Last Synced: 2025-02-01T15:11:22.191Z (about 1 year ago)
- Topics: architecture, design-patterns, python
- Language: Python
- Homepage:
- Size: 366 KB
- Stars: 28
- Watchers: 4
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)