इस प्रोजेक्ट के बारे में
python-patterns पायथन में लागू डिज़ाइन पैटर्न और मुहावरों का एक संदर्भ संग्रह है। यह एक लाइब्रेरी नहीं, बल्कि एक सीखने का संसाधन है: प्रत्येक पैटर्न एक श्रेणी फ़ोल्डर के अंतर्गत अपने छोटे मॉड्यूल में रहता है, और README उन्हें संक्षिप्त विवरण के साथ अनुक्रमित करता है।
कवरेज कई समूहों में व्यवस्थित है। रचनात्मक पैटर्न में abstract_factory, borg, builder, factory, lazy_evaluation, pool और prototype शामिल हैं। संरचनात्मक पैटर्न में 3-tier, adapter, bridge, composite, decorator, facade, flyweight, front_controller, mvc और proxy शामिल हैं। व्यवहारिक पैटर्न में chain_of_responsibility, catalog, chaining_method, command, interpreter, iterator (वैकल्पिक कार्यान्वयन के साथ), mediator, memento, observer, publish_subscribe, registry, servant, specification, state, strategy, template और visitor शामिल हैं। परीक्षण-क्षमता के लिए डिज़ाइन उदाहरण भी हैं (तीन वेरिएंट के साथ dependency_injection), एक मौलिक delegation_pattern, और अन्य पैटर्न जैसे blackboard, graph_search और एक पदानुक्रमित स्टेट मशीन (hsm)।
README स्पष्ट रूप से पैटर्न को ट्रेड-ऑफ के रूप में प्रस्तुत करता है, पाठकों को केवल यह नहीं कि पैटर्न कैसे कोड किया गया है, बल्कि यह क्यों चुना गया है, इस पर ध्यान केंद्रित करने के लिए प्रोत्साहित करता है। यह पायथन में हतोत्साहित किए जाने वाले एंटी-पैटर्न का भी दस्तावेजीकरण करता है, जिसमें singleton (मॉड्यूल पहले से ही सिंगलटन हैं), god object, और इनहेरिटेंस का अत्यधिक उपयोग शामिल है, जिसमें मॉड्यूल-स्तरीय चर, dependency injection, composition और delegation जैसे सुझाए गए विकल्प शामिल हैं।
प्रत्येक उदाहरण मॉड्यूल से संदर्भों के साथ एक मॉड्यूल-स्तरीय docstring और, जहां संभव हो, वास्तविक दुनिया के उपयोग को दिखाने वाला एक "Examples in Python ecosystem" अनुभाग रखने की अपेक्षा की जाती है। परियोजना कुछ पैटर्न के पायथन 2 संगत संस्करणों के लिए एक legacy टैग बनाए रखती है। योगदान मार्गदर्शन docstrings, README अपडेट, और फ़ॉर्मेटिंग, लिंटिंग, टाइप चेकिंग और परीक्षण के लिए ./lint.sh चलाने को कवर करता है; विकास निर्भरताएं Pipfile.lock में पिन की जाती हैं और make lock के साथ पुनर्जीवित की जाती हैं। मुद्दा ट्राइएज CodeTriage के माध्यम से समर्थित है, और README पायथन में डिज़ाइन पैटर्न के बारे में कई सम्मेलन वार्ता और वीडियो से लिंक करता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.