रिश्तों।
मित्र: दो लोगों को देखते हुए, एक मित्र संबंध इन सामान्य कानूनों का पालन करता है
- एक-दूसरे के प्रति अच्छा व्यवहार रखें
- सोचता है कि दोनों एक-दूसरे के मित्र हैं (इसलिए इस संबंध में दोनों सदस्यों द्वारा कानूनों को पूरा किया जाना चाहिए)
- एक-दूसरे के साथ समय बिताने में मजा आता है
मोनॉयड: कई वस्तुओं और एक फ़ंक्शन को देखते हुए जो 2 आइटम लेता है और 1 रिटर्न देता है, एक मोनोइडल संबंध इन सामान्य कानूनों का पालन करता है
- उन मदों में से एक है (केवल एक, जिसे पहचान कहा जाता है) जो किसी भी अन्य आइटम के साथ फ़ंक्शन में जाता है यह सुनिश्चित करेगा कि फ़ंक्शन हमेशा अन्य आइटम (0 + 1 = 1) लौटाता है , इस प्रकार 0 की पहचान तब होती है जब आइटम नंबर और होते हैं फ़ंक्शन अतिरिक्त है)
- फ़ंक्शन उस आइटम पर काम नहीं कर सकता है या सेट नहीं कर सकता है जिसमें उसका एक समान संबंध है
- फ़ंक्शन साहचर्य है और इसे कुछ हद तक स्वतंत्र तरीके से वस्तुओं के साथ इस्तेमाल किया जा सकता है, इसका मतलब है एक * (b * c) = (a * b) * c जो कहता है कि आप b * c या c के परिणाम से गुणा कर सकते हैं * b के परिणाम से और परिणाम वही होगा जो आप पहले करते हैं।
कार्यात्मक प्रोग्रामिंग सभी सामान्यीकरणों के बारे में है, दोस्त एक बहुत ही सामान्य संबंध है जिसे कई परिदृश्यों में देखा जा सकता है, लेकिन सभी विभिन्न स्वरूपों में यह आम तौर पर उपरोक्त कानूनों का पालन करता है।
चीजों के बीच संबंधों को नियंत्रित करने वाले कानूनों को मान्यता देते हुए, आप सामान्य कार्यान्वयन बना सकते हैं जो किसी भी तरह की चीजों के प्रारूप पर काम करते हैं, जिसमें उस प्रकार का संबंध होता है। कार्यात्मक प्रोग्रामिंग में आप चीजों के बीच संबंधों की पहचान करने की कोशिश करते हैं ताकि उन्हें आमतौर पर वर्गीकृत और इलाज किया जा सके।
आप वास्तविक दुनिया से एक रूपक चाहते हैं? देखें कि कैसे चीजें संबंधित हैं और सामान्य कानूनों की पहचान करने की कोशिश करते हैं (जैसा कि कई परिदृश्यों पर लागू होता है जहां कानून के अलावा अन्य चीजें भिन्न हो सकती हैं)। एक स्टोर में एक रजिस्टर क्लर्क और एक दुकानदार के बीच एक संबंध है, इसमें कुछ सामान्य कानून हैं, पीओएस सिस्टम के रास्ते में उस सामान्य संबंध में लोगों के लक्ष्यों को सुविधाजनक बनाने के लिए सॉफ्टवेयर विकसित किया गया है। इसी तरह जब आप इन सामान्य कानूनों को यह देखना शुरू करते हैं कि कैसे चीजें संबंधित हैं, तो आप उन संबंधों के नियमों पर भरोसा करना शुरू कर सकते हैं, जो किसी रिश्ते के उदाहरण के विशिष्ट विवरणों के बजाय आपके सॉफ़्टवेयर को लिखने में हैं।