2012-01-12 4 views
5

मेरे कॉलेज के दिनों में, मुझे कभी एहसास नहीं हुआ कि जावा एपीआई में कौन से पैटर्न थे। अब काम पर मैं आईओएस पर ऑब्जेक्टिव सी एन कोको में प्रतिनिधिमंडल पैटर्न में आया जहां एक स्क्रीन आने वाली स्क्रीन पर एक प्रतिनिधि के रूप में खुद को सेट करती है ताकि वह स्क्रीन उस प्रतिनिधि को कुछ संदेश दे सके और जब यह वापस आती है तो कुछ कार्रवाई कर सकती है पिछली स्क्रीनक्या एक्शनलिस्टर प्रतिनिधिमंडल पैटर्न का एक उदाहरण है?

मुझे लगता है कि मैं "इस" ActionListener के रूप में के रूप में पारित करने के लिए एक JButton करने के लिए [इंटरफेस को लागू करने से] के साथ जब मैं इस्तेमाल किया कुछ ऐसा ही करने के लिए इस्तेमाल करते हैं और यह स्वचालित रूप से कॉल actionPerformed इस वर्ग में मेरे द्वारा लागू किया जाएगा और इस तरह मैं कर सकता मेरे जेएफआरएएम कक्षा में किसी भी इंस्टेंस डेटा को बदलें।

तो क्या एक्शन लिस्टनर प्रतिनिधि का उदाहरण है यदि मैं सही हूं?

संपादित करें: जैसा कि नीचे सही तरीके से बताया गया है, यह पर्यवेक्षक पैटर्न है। हम एक्शनलिस्टर सेट नहीं करते हैं जिसे हम एक जोड़ते हैं। इस प्रकार उस कार्रवाई के लिए कई श्रोताओं हो सकते हैं।

उत्तर

6

ActionListenerobserver pattern का एक उदाहरण है। आप एक घटक पर पर्यवेक्षकों (या श्रोताओं) को पंजीकृत करते हैं जिन्हें एक विशिष्ट घटना होने पर बुलाया जाता है।

+0

यह सही है। मैंने अपनी पोस्ट को हटाने से पहले मैंने इसका कमांड पैटर्न का उल्लेख किया था। यह नहीं। कार्रवाई है, लेकिन एक्शनलिस्टर नहीं। – Xorty

+0

लेकिन मैं प्रति जेबटन प्रति केवल एक पर्यवेक्षक सेट कर सकता हूं। ज्यादा नहीं। हमने सेट एक्शन लिस्टनर विधि को कई जोड़ने के लिएActionListener को नहीं जोड़ा है। –

+1

मेरे जेबटन में addActionListener विधियां हैं। शर्मिंदा आपका सीमित है। – MeBigFatGuy

संबंधित मुद्दे