मैं हाल ही में इवेंट श्रोताओं का अध्ययन कर रहा हूं और मुझे लगता है कि मैंने अंततः उन्हें नीचे प्राप्त कर लिया है। असल में, वे ऐसे कार्य होते हैं जिन्हें किसी अन्य ऑब्जेक्ट की विधि पर बुलाया जाता है। मेरा सवाल यह है कि फ़ंक्शन को कॉल करते समय इवेंट श्रोता क्यों ठीक काम करेगा?फ़ंक्शन कॉल पर ईवेंट श्रोताओं का उपयोग क्यों करें?
उदाहरण, मैं player.display_health() को कॉल करना चाहता हूं, और जब इसे निकाल दिया जाता है, तो method player.get_health() को निकाल दिया और संग्रहीत किया जाना चाहिए ताकि display_health() तक इसका उपयोग हो। फ़ंक्शन को कॉल करने पर मुझे ईवेंट श्रोता का उपयोग क्यों करना चाहिए? भले ही display_health() किसी अन्य ऑब्जेक्ट में थे, फिर भी यह मेरे लिए एक समस्या प्रतीत नहीं होता है।
यदि आपके पास एक और उदाहरण है जो उपयोग को बेहतर बनाता है, तो कृपया मुझे बताएं। शायद विशेष भाषाओं से इसका लाभ नहीं होता है? (जावास्क्रिप्ट, पीएचपी, एएसपी?)
डोमेन लाइब्रेरीज़ के पीछे विचार जिस पर मैंने नियंत्रण किया है, मुझे अच्छी समझ मिली क्योंकि मेरे द्वारा काम की जाने वाली अधिकांश सामग्री पर मेरा पूरा नियंत्रण है। इसलिए जब से मेरा नियंत्रण होता है, तो मुझे विपरीत प्रश्न पूछने की ज़रूरत है, क्या फ़ंक्शन कॉल पर ईवेंट श्रोताओं का उपयोग न करने का कोई कारण नहीं है? – Organiccat
@ ऑर्गनिकैट: पहले की तरह, मुझे यकीन है कि अन्य कारण भी हैं। लेकिन मेरे लिए सबसे बड़ा कारण निर्भरता उलटा सिद्धांत होगा। ईवेंट का जवाब देने वाला कोड (या यहां तक कि हो सकता है) एक निर्भरता हो सकती है जो तर्कसंगत रूप से उस कोड से संबंधित नहीं है जो ईवेंट को बढ़ा रहा है। – David
मैंने इसके बाद के बारे में सोचा, लेकिन मुझे लगता है कि कोड की नकल भी एक ईवेंट श्रोता के बजाय फ़ंक्शन रखने का एक अच्छा कारण होगा (विशेष रूप से जब लाइब्रेरी को कोडिंग नहीं करते)। – Organiccat