-
Notifications
You must be signed in to change notification settings - Fork 7.1k
Description
Hi team!
I've been using this repository as a primary reference for Python idioms and design patterns. As mentioned in the introduction, understanding "why" a pattern is chosen is often more important than the implementation itself.
To help learners grasp these architectural concepts faster, I propose adding visual diagrams (using Mermaid.js) directly to the README and pattern files. This will make the repository much more scannable and help users visualize the relationships between components at a glance.
Proposed Improvements:
- Visual Summaries: Add high-level maps for Creational, Structural, and Behavioral sections.
- Architecture Deep-Dives: Create specific class diagrams for patterns like MVC, 3-tier, or Strategy to explain object interaction.
- Anti-Pattern Education: Visually illustrate why "God Object" or "Inheritance Overuse" are problematic compared to clean composition.
You can see an example of my documentation and visual enhancement work here: https://github.com/maxkrivachev-web/portfolio/tree/main/cases/obsidian-html
I would love to start by submitting a Pull Request for the main README or a specific pattern category. Are you open to this contribution?
Proposed Visualization Map:
graph TD
root[Python Design Patterns] --> C[Creational]
root --> S[Structural]
root --> B[Behavioral]
root --> AP[Anti-Patterns]
subgraph Creational_Patterns [Object Creation]
C --> C1[Abstract Factory]
C --> C2[Builder]
C --> C3[Factory]
C --> C4[Prototype]
end
subgraph Structural_Patterns [Code Structure]
S --> S1[Adapter]
S --> S2[Bridge]
S --> S3[Facade]
S --> S4[Proxy]
end
subgraph Behavioral_Patterns [Object Interaction]
B --> B1[Command]
B --> B2[Observer]
B --> B3[Strategy]
B --> B4[State]
end
subgraph Bad_Practices [Avoid in Python]
AP --> AP1[Singleton]
AP --> AP2[God Object]
AP --> AP3[Inheritance Overuse]
end
style AP fill:#f96,stroke:#333,stroke-width:2px