में इंटरफ़ेस मैं एक सामाजिक वेब ऐप प्रोजेक्ट शुरू करने वाला हूं।ग्रोवी
जबकि मैं कक्षाओं को डिजाइन कर रहा था, मैंने आवश्यकतानुसार "टिप्पणी करने योग्य" या "पसंद करने योग्य" जैसे इंटरफेस को परिभाषित करने का निर्णय लिया।
फिर भी मैं इसे समझ नहीं पाया कि ग्रोवी में इसे कैसे कार्यान्वित किया जाए, कि मैं सीखने के चरण में हूं।
नीचे उदाहरण ग्रूवी प्रलेखन से है,
interface X
{ void f(); void g(int n); void h(String s, int n); }
x = [ f: {println "f called"} ] as X
x.f()
//x.g() // NPE here
कहो यह मेरा इंटरफेस में से एक है, और मैं एक वर्ग इस इंटरफ़ेस को लागू करने के लिए बी कहा जाता है का उपयोग करना चाहते ..
मैं सिर्फ करेगा संबंधित नियंत्रक में एक्स के रूप में बी कहें?
डोमेन परत में इसे कैसे करें? यदि कक्षा जेड है, तो "टिप्पणी करने योग्य" कहें, क्या मैं सिर्फ एक डोमेन क्लास को टिप्पणी कहूंगा और कहूंगा कि ज़ेड की कोई टिप्पणी है? और नियंत्रक परत में इंटरफ़ेस का उपयोग करें?
सही तरीके से ऐसा करने के लिए ग्रोवी तरीका क्या है? मैं थोड़ा उलझन में हूं और थोड़ा सा स्पष्टीकरण वास्तव में अच्छा होगा।
अग्रिम
आप यह सुनिश्चित करें कि के बारे में मैं इस तरह किसी एक उदाहरण देखने के फ्लॉप भी नहीं यकीन है कि लागू कीवर्ड – add9
तो डिजाइन सवाल अगर मैं परिभाषित कर सकते हैं के बारे में ग्रूवी मौजूद हैं जावा में बस एक इंटरफ़ेस, इसे नियंत्रक में कार्यान्वित करना और डोमेन में हैनी का उपयोग करना एक सही बात होगी? – add9
ग्रोवी (या ग्रेल्स) में इंटरफेस का उपयोग करने में बहुत कम लाभ है क्योंकि आप जो भी तरीका चाहते हैं उसे कॉल कर सकते हैं - ग्रोवी "बतख टाइपिंग" का समर्थन करता है। कुछ प्लगइन्स उनका उपयोग करते हैं लेकिन वास्तव में "मार्कर" इंटरफ़ेस के रूप में अधिक तरीकों से नहीं होते हैं, और इन्हें केवल प्रकार वर्गीकृत करने के लिए उपयोग किया जाता है ताकि आप "exampleIn MyInterface" की जांच कर सकें और तदनुसार कार्य कर सकें। लेकिन इसके अलावा इंटरफेस का उपयोग करने के लिए वास्तव में कोई कारण नहीं है। –