2013-10-26 6 views
5

में मेटाबोजेक्ट प्रोटोकॉल (एमओपी) मैं ग्रोवी प्रोग्रामिंग भाषा में नया हूं और मैं गतिशील प्रकृति और क्षमताओं को पूरी तरह से समझने की कोशिश कर रहा हूं। मुझे क्या पता है कि ग्रोवी में निर्मित हर वर्ग अपने सबसे बुनियादी रूप में इस तरह दिखता है (ग्रोवी ऑब्जेक्ट लागू करता है और जावा ऑब्जेक्ट का विस्तार करता है)।ग्रोवी

public class Foo implements groovy.lang.GroovyObject extends java.lang.Object { } 

ग्रूवी वस्तु भी एक MetaClass कि MetaObjectProtocol फैली हैं। यह कक्षा पदानुक्रम है जो कुछ ग्रोवी की गतिशील क्षमताओं को प्रदान करता है। इसमें आत्मनिरीक्षण (getProperties, getMethods) या अवरोध विधियों (invokeMethod, missingMethod) की पहचान करने की क्षमता शामिल है।

मैं ग्रोवी में उपलब्ध विभिन्न प्रकार के मेटा प्रोग्रामिंग को भी समझता हूं। ये आपको रनटाइम या कार्यक्षमता समय पर कार्यक्षमता जोड़ने या ओवरराइड करने की क्षमता देते हैं।

  • रनटाइम
    • श्रेणियाँ
    • expando/MetaClass/ExpandoMetaClass
  • संकलन समय
    • एएसटी रूपांतरण
    • विस्तार मॉड्यूल

अब इस बात के कुछ तरीके से हम इस प्रश्न के मांस तक पहुंच सकते हैं। जब कोई या पुस्तक ग्रोवी में "मेटाबोजेक्ट प्रोटोकॉल" को संदर्भित करती है तो क्या हम किसी विशिष्ट वर्ग या चीज़ों के संग्रह के बारे में बात कर रहे हैं। मुझे कुछ ऐसा समझना मुश्किल है जो पत्थर में परिभाषित या सेट नहीं है। मेरी पुस्तकों में से एक ने इसे

प्रोटोकॉल नियमों और प्रारूपों का संग्रह है। मेटा-ऑब्जेक्ट-प्रोटोकॉल (एमओपी) एक विधि कॉल के लिए अनुरोध के नियमों का संग्रह है, जो ग्रोवी रनटाइम सिस्टम और इंटरमीडिएट परत को नियंत्रित करने के लिए कैसे किया जाता है। प्रोटोकॉल के "स्वरूप", संबंधित एपीआई द्वारा परिभाषित किया गया है

मैं भी वेंकट के प्रोग्रामिंग ग्रूवी 2 किताब है और इसमें एक चित्र है कि इस विधि देखने प्रक्रिया को परिभाषित करता है नहीं है। इसलिए मैं अनुमान लगा रहा हूं कि हम कैसे एक विधि का अनुरोध करते हैं (कम से कम एक पीओजीओ, मैं समझता हूं कि पीओजेओ अलग है)।

enter image description here

फिर भी मुझे लगता है कि मैं सही रास्ते नीचे जा रहा हूँ, लेकिन मुझे लगता है कि मैं अभी भी है कि "ahhhaa" पल याद आ रही है। क्या कोई मुझे उस चीज़ पर भर सकता है जो मुझे याद आ रहा है? या कम से कम मुझे बताओ कि मेरे ramblings यहाँ कुछ प्रकार की भावना बना :) :) धन्यवाद !!

+0

मुझे लगता है कि एक्सटेंशन को "संकलन समय" मेटा सामग्री – Will

+0

में जोड़ा जाना चाहिए, मुझे एक्सटेंशन मॉड्यूल के बारे में भी पता नहीं था, मैंने इसे सूची में जोड़ा। धन्यवाद! – cfaddict

+0

मुझे यकीन नहीं है कि यहां क्या जवाब देना है। आपका प्रश्न एमओपी क्या है/है/है? जैसे, ग्रोवी स्रोत कोड में कौन से वर्ग इसे कार्यान्वित करते हैं? – Will

उत्तर

4

यह उत्तर है। "मेटा-ऑब्जेक्ट-प्रोटोकॉल (एमओपी) नियमों का संग्रह है कि विधि कॉल के लिए अनुरोध ग्रोवी रनटाइम सिस्टम और इंटरमीडिएट परत को कैसे नियंत्रित किया जाता है।" एक बार जब आप प्रक्रिया को समझ लेते हैं तो एक विधि कॉल हो जाती है और एपीआई जो इसके साथ आता है, मुझे लगता है कि यह सब समझ में आता है। मैं बस यह सब सोच रहा था। धन्यवाद!!