क्या कुछ भाषाओं में पाइथन डिस्क्रिप्टर प्रोटोकॉल लागू किया गया है? यह आपके युक्त वर्ग के कार्यान्वयन को फूलाए बिना मॉड्यूलरिटी/इंकापुलेशन बढ़ाने का एक अच्छा तरीका प्रतीत होता है, लेकिन मैंने कभी भी किसी अन्य भाषा में इसी तरह की बात नहीं सुनी है। क्या यह लुकअप ओवरहेड की वजह से अन्य भाषाओं से अनुपस्थित है?पाइथन डिस्क्रिप्टर प्रोटोकॉल एनालॉग अन्य भाषाओं में?
उत्तर
मैंने प्रत्यक्ष प्रत्यक्ष समकक्ष के बारे में नहीं सुना है। आप शायद मैक्रोज़ के साथ एक ही प्रभाव प्राप्त कर सकते हैं, खासकर लिस्प जैसी भाषा में जिसमें अत्यधिक शक्तिशाली मैक्रोज़ हैं।
मैं बिल्कुल आश्चर्य नहीं यदि अन्य भाषाओं कुछ इसी तरह शामिल करने के लिए शुरू करते हैं, क्योंकि यह इतना शक्तिशाली है जाएगा।
रूबी और सी # दोनों को आसानी से आप एक विशेषता के लिए गेटर/सेटर तरीकों का उल्लेख करते समय ज्यादा अजगर की तरह से accessors बना सकते हैं। हालांकि, यह स्वाभाविक रूप से आपको अन्य तरीकों से पाइथन की अनुमति के तरीके के लिए कोड लिखने के लिए डिज़ाइन नहीं किया गया है। प्रैक्टिस में, मुझे यकीन नहीं है कि यह कितना मायने रखता है, क्योंकि हर बार जब मैंने वर्णनकर्ता प्रोटोकॉल के माध्यम से परिभाषित एक विशेषता देखी है, इसे उसी वर्ग में लागू किया गया है।
संपादित करें: मेरे डिस्लेक्सिया (जिसके द्वारा मैं लापरवाह पढ़ने मतलब) अरे। किसी कारण से मैंने हमेशा "डिस्क्रिप्टर" को "सजावट" के रूप में पढ़ा है और इसके विपरीत, जब भी मैं उनमें से एक टाइप कर रहा हूं। मैं अपनी पोस्ट को बरकरार रखूंगा क्योंकि इसकी वैध जानकारी है, यद्यपि जानकारी के बावजूद इस सवाल के साथ बिल्कुल कुछ नहीं है।
शब्द "डेकोरेटर" खुद वास्तव में प्रसिद्ध "डिजाइन पैटर्न" पुस्तक में वर्णित एक डिजाइन पैटर्न का नाम है। विकिपीडिया लेख डेकोरेटर उपयोग के विभिन्न प्रोग्रामिंग भाषाओं में कई उदाहरण दिए गए हैं: http://en.wikipedia.org/wiki/Decorator_pattern
हालांकि, उस लेख में सज्जाकार वस्तु उन्मुख; उनके पास एक पूर्वनिर्धारित इंटरफ़ेस को लागू करने वाले वर्ग हैं जो किसी अन्य मौजूदा वर्ग को किसी भी तरह से व्यवहार करते हैं, आदि। पाइथन सजावट किसी अन्य फ़ंक्शन के साथ रनटाइम पर फ़ंक्शन को प्रतिस्थापित करके कार्यात्मक तरीके से कार्य करती हैं, जिससे आप उस फ़ंक्शन को प्रभावी रूप से संशोधित/प्रतिस्थापित कर सकते हैं, कोड डालें आदि।
यह जावा दुनिया में पहलू-ओरिएंटेड प्रोग्रामिंग के रूप में जाना जाता है, और एस्पेक्टजे जावा कंपाइलर आपको इन प्रकार की चीजों को करने और जावा बाइटकोड में अपने AspectJ कोड (जो जावा का सुपरसेट है) संकलित करने देता है।
मैं के साथ सी # या रूबी काफी परिचित को पता है कि सज्जाकार के अपने संस्करण होगा नहीं हूँ।
- 1. अन्य भाषाओं में MFMailComposeViewController?
- 2. अन्य भाषाओं
- 3. पाइथन का कपड़ा अन्य भाषाओं में समतुल्य क्या है?
- 4. ज़िप पाइथन में एनालॉग के साथ?
- 5. अन्य भाषाओं के लिए jsFiddle?
- 6. Google प्रोटोकॉल बफर में पाइथन
- 7. अन्य भाषाओं में रीकैप्चा जैसी वेब सेवा
- 8. atoi() अन्य भाषाओं के साथ
- 9. टिक, टोक फ़ंक्शन एनालॉग
- 10. पाइथन में फ़ाइल डिस्क्रिप्टर को मूल न्यूलाइन वर्ण कैसे लिखें?
- 11. कॉफ़ीस्क्रिप्ट || = एनालॉग?
- 12. सॉकेट डिस्क्रिप्टर बनाम फ़ाइल डिस्क्रिप्टर
- 13. SPARQL फ़िल्टर लैंग 'एन' अन्य भाषाओं को
- 14. अन्य भाषाओं के लिए एरलांग-स्टाइल कंसुरेंसी
- 15. ironpython गति अन्य .NET भाषाओं की तुलना कैसे करता है?
- 16. HTTP के अलावा अन्य आम प्रोटोकॉल?
- 17. सी # (या अन्य भाषाओं) में प्रतिनिधियों का उपयोग
- 18. क्या डफ की डिवाइस अन्य भाषाओं में काम करती है?
- 19. अन्य भाषाओं में स्थिर चर के PHP समकक्ष क्या है?
- 20. सी # या अन्य भाषाओं में स्कैला-शैली सार मॉड्यूल?
- 21. अन्य बाधाओं और प्रोग्रामिंग भाषाओं में जावा बाइटकोड का अनुवाद
- 22. अन्य भाषाओं में जावास्क्रिप्ट दिनांक कैसे संभाला जाता है?
- 23. अन्य भाषाओं में स्कैला आईडीई वर्कशीट के बराबर?
- 24. mysql तालिका में अन्य भाषाओं को कैसे सहेजना है?
- 25. आर्टिफैक्ट डिस्क्रिप्टर अपवाद: आर्टिफैक्ट डिस्क्रिप्टर मेवेन त्रुटि
- 26. हास्केल एन्यूमेरेटर: एनालॉग के लिए एनालॉग 'enumWith' ऑपरेटर?
- 27. MySQL लांगटेक्स्ट एनालॉग?
- 28. फ़ाइल डिस्क्रिप्टर
- 29. पायथन डिस्क्रिप्टर
- 30. प्रोग्रामिंग भाषाओं
[वर्णनकर्ता प्रोटोकॉल] (http://docs.python.org/ref/descriptors.html) के रूप में [डेकोरेटर पैटर्न] (http://www.python.org/dev/peps/ समान नहीं है पेप्टन में पेप -0318 /) - मैं ऑब्जेक्ट इंस्टेंस को अन्य ऑब्जेक्ट की विशेषता में बदलने की क्षमता का जिक्र कर रहा हूं जो गतिशील रूप से "प्रॉक्सी" है। – cdleary