2009-07-01 14 views
5

मुझे एक डब्ल्यूपीएफ एप्लीकेशन मिला है जो एमवीवीएम पैटर्न का उपयोग करता है, बिना किसी कोड-पीछे, व्यूमोडेल मेनव्यूमोडेल के माध्यम से एक दूसरे के साथ संवाद करता है जो उनमें से प्रत्येक में इंजेक्शन देता है।प्रिज्म (सीएएल) में मॉड्यूल कैसे एक-दूसरे के साथ संवाद करते हैं?

आखिरकार, इस आवेदन जो समग्र आवेदन पुस्तकालय, एकता, आदि कोड और सीएएल के प्रलेखन के माध्यम से देख रहे हैं का उपयोग करता है एक आवेदन पत्र में शामिल किया जा की जरूरत है, मैं देख सकता हूँ मैं कैसे मेरी पूरे आवेदन रजिस्टर कर सकते हैं एक मॉड्यूल के रूप सीएएल आवेदन में, लेकिन मेरा एप्लीकेशन-ए-मॉड्यूल अन्य मॉड्यूल के साथ संवाद करने जा रहा है जो गतिशील रूप से लोड किए गए हैं? मैं उम्मीद कर रहा हूँ, उदा। प्रत्येक मॉड्यूल सीएएल आवेदन किसी भी तरह इंजेक्शन, या मैसेंजरघटना नियंत्रक या किसी तरह का है जिससे मैं शिथिल अन्य मॉड्यूल के साथ संवाद कर सकते हैं, यानी एक संदेश भेजने और घटनाओं का जवाब लेकिन नहीं कर सकता चिंता है कि वहाँ हो जाता है कि अगर वे मॉड्यूल वास्तव में हैं या नहीं।

समग्र अनुप्रयोग मॉड्यूल एक दूसरे के साथ संवाद कैसे करते हैं?

उत्तर

6

आप सीएएल (प्रिज्म) का उपयोग कर रहे Event Aggregator/CompositePresentationEvent जहां यह प्रकाशक/सब्सक्राइबर पैटर्न का उपयोग करता (उर्फ Pub/Sub) पर गौर इसलिए एप्लिकेशन के कुछ मॉड्यूल एक घटना एग्रीगेटर की सदस्यता दी गई है, तो एक और मॉड्यूल है जब इसमें परिवर्तनों को प्रकाशित किया जाएगा उदाहरण के लिए (चयनित ItemChanged) इवेंट एग्रीगेटर को, यदि अन्य मॉड्यूल परिवर्तन में रूचि रखते हैं प्रकाशित वे आवेदन के हिस्से के भीतर कार्य करेंगे।

उदाहरण:

एक डेस्कटॉप ई-मेल आवेदन:

मॉड्यूल:

  • मेल आइटम (MailID, विषय, प्रेषक, SentDate..etc)
  • विस्तार से देखें (संदेशबॉडी)

यदि टी मेल आइटम सूची बॉक्स में चयन बदल जाता है, यह इवेंट एग्रीगेटर को मेलआईडी प्रकाशित करता है, फिर विस्तार दृश्य परिवर्तन के बारे में जानता है और फिर यह मेल आईडी द्वारा उस ई-मेल के लिए संदेशबॉडी को पकड़ता है। जहां "मेलइटम" और "डेटलीव्यू" मॉड्यूल विभिन्न टीमों द्वारा विकसित किए गए हैं लेकिन उनके पास मेलआईड के बीच एक आम अपेक्षित संदेश के रूप में है।

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