मैंने अभी-अभी MVVM लाइट फ्रेमवर्क के साथ सिल्वरलाइट सीखना शुरू किया है। हाल ही में मैंने एमवीवीएम लाइट में मैसेंजर सुविधाओं में प्रवेश करना शुरू कर दिया है।

अब तक मैंने को डाउनलोड कर लिया है। लॉरेंट द्वारा पोस्ट किया गया क्लीन शटडाउन उदाहरण और मैसेन्जर वर्ग कैसे काम करता है इसकी एक बुनियादी समझ है लेकिन मैं अभी भी थोड़ा अनिश्चित हूं कि किस प्रकार के संदेश का उपयोग करना है।

साइट से, यहाँ संदेश प्रकार हैं:

  • MessageBase: एक साधारण संदेश वर्ग, जिसमें वैकल्पिक जानकारी होती है संदेश भेजने वाले के बारे में।
  • जेनेरिक मैसेज: की सामग्री संपत्ति वाला एक साधारण संदेश टाइप टी.
  • अधिसूचना संदेश: a . को सूचना (एक स्ट्रिंग के रूप में) भेजने के लिए प्रयुक्त होता है प्राप्तकर्ता। उदाहरण के लिए, अपना सहेजें a . में स्थिर के रूप में सूचनाएं अधिसूचना वर्ग, और फिर भेजें सूचनाएं। प्राप्तकर्ता को सहेजें।
  • अधिसूचना संदेश: ऊपर जैसा ही है, लेकिन एक सामान्य सामग्री के साथ संपत्ति। a pass पास करने के लिए इस्तेमाल किया जा सकता है प्राप्तकर्ता को एक साथ पैरामीटर अधिसूचना के साथ।
  • NotificationMessageAction: प्राप्तकर्ता को एक सूचना भेजता है और प्राप्तकर्ता को कॉल करने की अनुमति देता है प्रेषक वापस।
  • NotificationMessageAction: प्राप्तकर्ता को एक सूचना भेजता है और प्राप्तकर्ता को कॉल करने की अनुमति देता है एक सामान्य पैरामीटर के साथ वापस भेजने वाला।
  • DialogMessage: प्राप्तकर्ता से अनुरोध करने के लिए उपयोग किया जाता है (आमतौर पर एक दृश्य) एक संवाद प्रदर्शित करता है, और पास करता है कॉलर को वापस परिणाम (a . का उपयोग करके) वापस कॉल करें)। प्राप्तकर्ता चुन सकता है संवाद कैसे प्रदर्शित करें, या तो साथ एक मानक संदेशबॉक्स, एक कस्टम के साथ पॉपअप, आदि…
  • PropertyChangedMessage: यह प्रसारित करने के लिए उपयोग किया जाता है कि एक संपत्ति बदल गई है प्रेषक में। वही पूरा करता है संपत्ति से उद्देश्य बदल गया घटना, लेकिन कम कड़े तरीके से।

मेरा प्रश्न यह है: क्या कोई मुझे समझा सकता है कि मैं आमतौर पर इनमें से प्रत्येक संदेश प्रकार का उपयोग कब करूंगा या मुझे एक ऐसे लेख की ओर संकेत कर सकता हूं जो प्रत्येक संदेश प्रकार का उपयोग करने के पेशेवरों और विपक्षों को तोड़ता है?

9
Jason Towne 8 जून 2011, 21:35

1 उत्तर

सबसे बढ़िया उत्तर

यदि आप संदेशों के लिए अपनी कोडिंग को फिट करने की कोशिश नहीं करते हैं, लेकिन संदेशों को वही करते हैं जो आप चाहते हैं, तो आप अपने आप को बहुत सारे सिरदर्द और झुंझलाहट से बचाएंगे। संदेशों को उप-वर्ग करने से डरो मत उन्हें वह करने के लिए जो आप वास्तव में उनसे चाहते हैं। एमवीवीएम-लाइट का उपयोग करते समय यह मेरी पहली गलतियों में से एक थी।

मेरे अधिकांश संदेश जेनेरिक मैसेज का उपयोग जेनेरिक के साथ करते हैं जिसे मैं स्थानांतरित करने का प्रयास कर रहा हूं ...

उदाहरण के लिए मेरे पास एक अपवाद संदेश वर्ग है जो

Public ExceptionMessage:GenericMessage<System.Exception>

तो मैं उचित मूल्यों के साथ 3 रचनाकारों को ओवरराइड करता हूं।

मैंने पाया कि शूहॉर्न चीजों की जगह इसे इस तरह से करना बहुत आसान है।

मेरे पास एक गहन उदाहरण है यहां

यह मैसेजिंग के बारे में एक और सवाल से है जहां मेरे पास मेरे कोड तक पहुंच थी ...

6
Community 23 मई 2017, 15:18
उपवर्ग भी क्लीनर कोड बनाता है क्योंकि संदेशों को उचित नाम दिया जा सकता है। इसके अलावा यह एक क्लीनर और अधिक केंद्रित - यानी बेहतर एड्रेसेबल - संदेश प्रबंधन की अनुमति देता है।
 – 
AxelEckenberger
13 जून 2011, 01:00