Skip to content

erfanvaredi/python-design-patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Python Design Patterns

In this repository I've been developing some guideline for developers/data scientists wanting empower their programming skill and scalable softwares

Installation

Use the package manager pip to install jupyter.

pip install jupyter

Then install the notebook library.

pip install notebook

Usage

To start using the examples in a jupyter notebook env you can first run the jupyter:

jupyter notebook

Content

For having scalable and high performance softwares and also easy to reuse codes we need to follow some of the pre-tested design patters which we will get through them step by step. In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. There are several types of design patterns in Python, including:

  • Creational patterns: These design patterns focus on creating objects in a flexible and efficient manner. Examples include the factory pattern and the builder pattern. ✅

  • Structural patterns: These design patterns focus on how objects are composed to form larger structures. Examples include the adapter pattern and the decorator pattern. ✅

  • Behavioral patterns: These design patterns focus on communication between objects and the distribution of responsibility. Examples include the observer pattern and the template method pattern. 🚧

  • Concurrency patterns: These design patterns focus on managing concurrent access to shared resources. Examples include the thread pool pattern and the producer-consumer pattern. 🚧

  • GoF (Gang Of Four): 🚧

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published