मैं सी # दुनिया से जावा में आ रहा हूं जहां ऑब्जर्वर पैटर्न को event
कीवर्ड के साथ प्रथम श्रेणी की भाषा निर्माण के रूप में कार्यान्वित किया गया है।जावा के पर्यवेक्षण वर्ग के लिए वैकल्पिक?
मुझे लगता है कि शुरुआती दिनों से जावा के पास Observable
कक्षा थी, लेकिन इसमें स्पष्ट रूप से कार्यान्वयन के मुद्दे हैं और इसका व्यापक रूप से उपयोग नहीं किया जाता है। अब तक मैं अपने जावा कोड में ऑब्जर्वर पैटर्न का अपना खुद का कार्यान्वयन कर रहा हूं लेकिन मैं हमेशा मदद नहीं कर सकता लेकिन लगता हूं कि इस बॉयलरप्लेट कोड को हमेशा चालू करने के लिए बेहतर विकल्प होना चाहिए। स्विंग में श्रोता वर्ग हैं लेकिन वे गैर-स्विंग कोड के लिए उपयुक्त नहीं लगते हैं।
इस ओह-आम समस्या के लिए अनुशंसित समाधान क्या है? तीसरे पक्ष के पुस्तकालय मेरे साथ ठीक हैं।
गैर-स्विंग कोड के लिए श्रोता वर्ग उचित क्यों नहीं हैं? – Jeffrey
ऐसा लगता है कि सभी इवेंट लिस्टनर व्युत्पन्न इंटरफेस और कक्षाएं स्विंग और एडब्ल्यूटी पैकेज में हैं। चूंकि वे ऐसे पैकेज में हैं जो यूआई के लिए ज़िम्मेदार है, गैर यूआई के लिए उनका उपयोग करना मुझे एक बुरी गंध की तरह लगता है। क्या EventListeners इन UI संदर्भों के बाहर उपयोग किया जाता है? – HolySamosa
आपको अपनी श्रोता कक्षाओं को प्राप्त करने से रोकने के लिए कौन है? 'EventListener' और' EventObject' दोनों 'java.util' में हैं, वे किसी भी तरह से एडब्ल्यूटी या स्विंग से बंधे नहीं हैं। – Jeffrey