मैं आपके प्रश्न को बदल दूंगा और कहूंगा: जब एक वस्तु आधारित अनुप्रयोग के लिए एक घटना आधारित सही समाधान नहीं है? मुझे लगता है कि ज्यादातर ओओ अनुप्रयोगों को लाभ हो सकता है यदि उन्हें इवेंट निर्माता और उपभोक्ता के रूप में डिज़ाइन किया गया है।
अंत में, एक "मेथड कॉल" वास्तव में एक वस्तु पर पहुंचने वाला संदेश है और यदि यह संदेश के साथ कुछ करने जा रहा है और ऑपरेशन कर रहा है तो यह तय करने के लिए वस्तु जिम्मेदार है। यह जोरदार टाइप की गई भाषाओं जैसे जावा में बहुत स्पष्ट नहीं है, लेकिन रूबी जैसी गतिशील भाषाओं में यह अधिक स्पष्ट हो जाता है।
इवेंट आधारित के रूप में किसी एप्लिकेशन को डिज़ाइन करने का एक और दिलचस्प बिंदु यह है कि आमतौर पर आंतरिक घटकों को ठीक से पृथक और सुसंगत होना पड़ता है, अन्यथा कोड बहुत जल्दी गड़बड़ हो जाता है। एक उदाहरण के रूप में, मैं वास्तव में एलिस्टेयर कॉकबर्न द्वारा उपयोग किए गए हेक्सागोनल आर्किटेक्चर की अवधारणा को पसंद करता हूं , क्योंकि आमतौर पर यह पैटर्न एक बेहतर एन्कैप्सुलेशन और बलों (मेरे विचार में) अधिक सामंजस्यपूर्ण घटकों का निर्माण करता है।
मुझे लगता है (लेकिन मैं शायद गलत हूं) कि यह भी डोमेन ईवेंट की डोमेन ड्रिवेन डिज़ाइन अवधारणा से संबंधित है , जिसमें डोमेन कक्षाएं उन घटनाओं का उत्सर्जन करती हैं जो अन्य वस्तुओं द्वारा कैप्चर की जाती हैं, और ये ऑब्जेक्ट अभी तक अन्य ईवेंट का उत्सर्जन करते हैं (आप देखें कि कहां हैं यह जा रहा है: डी)। इस पैटर्न के बारे में मुझे जो पसंद है वह यह है कि इंटरफेस को रोल को मॉडल बनाना चाहिए, न कि कार्यान्वयन को।
क्षमा करें, अगर मुझे इससे कोई मतलब नहीं है, तो मैं पिछले कुछ महीनों से आश्चर्यजनक परिणामों के साथ इन पैटर्नों के साथ प्रयोग कर रहा हूं, लेकिन मैं अभी भी अवधारणाओं को समझने की कोशिश कर रहा हूं और वे कितनी दूर तक पहुंच गए हैं।