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