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