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