पायथन चल रहा है

संदर्भ :
cd mon_projet

python -m venv mon_venv

source mon_venv/bin/activate

# Sur windows
mon_venv\Scripts\activate

deactivate

इंस्टॉल आवश्यकता

pip install -r requirements.txt

GoF के डिज़ाइन पैटर्न Python में

GoF के डिज़ाइन पैटर्न 23 डिज़ाइन पैटर्न का एक सेट हैं जिन्हें पुस्तक "Design Patterns: Elements of Reusable Object-Oriented Software" में वर्णित किया गया है।

।यहाँ GoF डिज़ाइन पैटर्न की सूची है

नाम

Description

फ़ैक्टरी मेथड

सटीक क्लास निर्दिष्ट किए बिना वस्तुएँ बनाएँ।

अब्स्ट्रैक्ट फ़ैक्टरी

सम्बद्ध या आश्रित वस्तुओं के परिवार बनाएँ बिना उनके वास्तविक वर्ग को निर्दिष्ट किए।

Builder

जटिल वस्तु के निर्माण को उसके प्रतिनिधित्व से अलग करें ताकि समान निर्माण प्रक्रिया विभिन्न प्रतिनिधित्व बना सके।

प्रोटोटाइप

मौजूदा प्रोटोटाइप को कॉपी करके नई वस्तुएँ बनाएँ।

एकल

एक वर्ग के इंस्टेंशिएशन को एक ही ऑब्जेक्ट तक सीमित करता है।

अडैप्टर

क्लास की इंटरफ़ेस को क्लाइंट की अपेक्षित दूसरी इंटरफ़ेस में बदल देता है

पुल

एक अब्सट्रैक्शन को इसके कार्यान्वयन से अलग करें ताकि दोनों स्वतंत्र रूप से भिन्न हो सकें।

संयुक्त

पेड़ संरचनाओं में वस्तुओं को संयोजित करके भाग-पूर्ण पदानुक्रम का प्रतिनिधित्व करें।

सजावटकार

एक वस्तु पर गतिशील रूप से अतिरिक्त जिम्मेदारियाँ संलग्न करें।

फ़ैसेड

एक सबसिस्टम में इंटरफ़ेस के एक सेट के लिए एक एकीकृत इंटरफ़ेस प्रदान करता है।

फ्लाइवेट

हल्के वस्तुओं के निर्माण और उपयोग की लागत कम करता है।

प्रॉक्सी

दूसरे वस्तु के लिए एक विकल्प या स्थानापन्न प्रदान करता है ताकि उसके’accès को नियंत्रित किया जा सके।

जिम्मेदारी की श्रृंखला

एक से अधिक ऑब्जेक्ट को एक अनुरोध को प्रोसेस करने की अनुमति देता है।

आदेश

एक वस्तु में एक अनुरोध को संलग्न करके, विभिन्न अनुरोधों, कतारों या लॉग के साथ क्लाइंट्स को पैरामीट्रिकृत करने की सुविधा मिलती है, और अनुलटनीय संचालन का समर्थन किया जा सकता है।

अनुवादक

एक भाषा की व्याकरण का एक प्रतिनिधित्व प्रदान करें और इस प्रतिनिधित्व का उपयोग उस भाषा में वाक्यों का अर्थ निकालने के लिए करें।

इटरेटर

एक संग्रहीत ऑब्जेक्ट के तत्वों को अनुक्रमिक रूप से पार करने का एक तरीका प्रदान करता है, बिना इसके अंतर्निहित प्रतिनिधित्व को उजागर किए।

मध्यस्थ

वस्तुओं के बीच जटिल निर्भरताओं को कम करने की अनुमति देता है, उन्हें केवल एक माध्यमक वस्तु के माध्यम से संवाद करने के लिए बनाकर।

यादगार

यह एक वस्तु को उसकी पूर्व स्थिति में पुनर्स्थापित करने की क्षमता प्रदान करता है (संलग्नता का उल्लंघन किए बिना).

प्रेक्षक

एक-से-बहुत संबंध परिभाषित करता है वस्तुओं के बीच ताकि जब कोई वस्तु अपनी स्थिति बदलती है, तो सभी उसके आश्रित स्वचालित रूप से सूचित और अपडेट किए जाते हैं।

राज्य

एक वस्तु को अपने व्यवहार को बदलने की अनुमति देता है जब उसका आंतरिक स्थिति बदलता है।

रणनीति

यह एक एल्गोरिदम के परिवार को परिभाषित करता है, प्रत्येक को संलग्न करता है और उन्हें विनिमेय बनाता है।

टेम्प्लेट पद्धति

एक पद्धति में एक एल्गोरिदम का ढाँचा परिभाषित करता है, कुछ चरणों को उपवर्गों को सौंप देता है।

आगंतुक

यह एक वस्तु संरचना पर एक नई ऑपरेशन करने के लिए परिभाषित करने की अनुमति देता है, वस्तुओं की कक्षाओं को बदले बिना जिन पर यह संचालित होती है।

कार्यात्मक प्रोग्रामिंग

पुस्तकालय

URL

Description

PyMonad

https://github.com/jasondelaat/pymonad

PyMonad एक कार्यान्वयन है मोनाडिक डेटा संरचनाओं का पायथन में, हास्केल और एफ़# जैसे प्रोग्रामिंग भाषाओं पर आधारित, जिसमें फलनीय प्रोग्रामिंग में सबसे अधिक प्रयोग किए जाने वाले मोनाड प्रकारों के लिए कार्यान्वयन हैं।https://www.miguelfarrajota.com/2021/06/monads-in-python-with-pymonad/[article]

PyFunctional

https://github.com/EntilZha/PyFunctional/

PyFunctional` एक Python लाइब्रेरी है कार्यात्मक प्रोग्रामिंग के लिए जो शुद्ध कार्यों और इटरेबल के साथ काम करने के लिए उपकरण प्रदान करती है।

टूल्ज़

https://toolz.readthedocs.io/en/latest/

Toolz एक Python लाइब्रेरी है जो कार्यात्मक प्रोग्रामिंग के लिए उपकरण प्रदान करती है जो शुद्ध फ़ंक्शन और इटरेबल के साथ काम करने के लिए टूल देती है।

फ़ंक्शन.py

https://github.com/kachayev/fn.py

Fn.py` एक Python लाइब्रेरी है फंक्शनल प्रोग्रामिंग के लिए जो शुद्ध कार्यों और इटरेबल्स के साथ काम करने के लिए उपकरण प्रदान करती है।

नारियल

https://coconut-lang.org/

कोकोनट पायथन में कई कार्यात्मक सुविधाएँ जोड़ता है, जिसमें पैटर्न मेलिंग भी शामिल है।https://stackoverflow.com/questions/11909681/are-there-pattern-matching-functions-in-python-like-this[संवाद sof]

दुष्प्रभाव

लूप्स

# impérative way
result = []
for i in inputs:
    x = f(g(i))
    result.append(x)

# idiomatic way
result = map(comp(f,g), inputs)

संबंधित लेख