Skip to content

herchila/design-patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to Design Patterns in Software Engineer 🐍 ✨

In the realm of software engineering, design patterns are fundamental, offering solutions to common problems encountered in software design. These patterns provide a template for how to solve a problem in a particular context, making software design more efficient and maintainable. This post delves into the world of design patterns through the lens of Python, a language known for its simplicity and readability.

👉 You can read the full post here: https://astrocodecraft.substack.com/p/understanding-design-patterns-python-perspective

About this Repository

This repository is a curated collection of design pattern examples, each of which demonstrates a specific design pattern in Python. From creational patterns like Singleton and Factory to structural patterns like Adapter and Decorator, and finally to behavioral patterns like Observer and Strategy, this repository serves as a go-to resource for Python developers looking to deepen their understanding of design patterns.

Patterns Included:

  • Singleton
  • Factory
  • Abstract Factory
  • Builder
  • Prototype
  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Proxy
  • Chain of Responsibility
  • Observer
  • Strategy Visitor

Each pattern is contained in its own directory, complete with a Python script showcasing its implementation and a README explaining its purpose and application.

How to Use this Repository

To explore a pattern, simply navigate to its respective directory. There, you will find a Python script with the implementation and a README file that offers a deeper insight into the pattern. You can clone the repository, run the scripts, and modify them to see how changes affect the pattern's behavior.

git clone https://github.com/herchila/design-patterns.git
cd design-patterns

Contributions are Welcome!

This repository is open to contributions! Whether it's adding new patterns, refining existing examples, or improving documentation, your input is highly valued.

Ways to Contribute:

  • Improve Code Examples: Refactor existing code for better clarity or efficiency.
  • Add New Patterns: Introduce patterns not currently in the repository.
  • Enhance Documentation: Improve the descriptions and explanations in README files.
  • Bug Reports & Fixes: Report any issues you find; even better if you can fix them!

To contribute, please:

  1. Fork the repository.
  2. Create a new branch for your feature or fix.
  3. Commit your changes.
  4. Push to your branch.
  5. Submit a pull request.

Let's Collaborate and Learn Together!

Whether you're a seasoned developer or a beginner, contributions and discussions are always welcome. Let's build a valuable resource for all Python developers interested in design patterns!

License

This project is licensed under the MIT License.

Releases

No releases published

Packages

No packages published

Languages