/ / क्या एमवीवीएम में दृश्य मॉडल में समांतरता नियंत्रक कोड डालना बुरा है - सी #, एमवीवीएम, समानांतर प्रसंस्करण

एमवीवीएम - सी #, एमवीवीएम, समानांतर प्रसंस्करण में दृश्य मॉडल में समांतरता नियंत्रक कोड डालना बुरा है

मैं एमवीवीएम पैटर्न का उपयोग कर एक प्रोग्राम लिख रहा हूं। कार्यक्रम समानांतर में बड़ी संख्या में कार्यों को निष्पादित करेगा और परिणाम फ्रंटएंड जीयूआई में अपडेट किया जाएगा। मैं चाहता हूं कि प्रत्येक कार्य समाप्त होने पर जीयूआई अपडेट किया जाए और मैं कार्य निष्पादन को नियंत्रित करने के लिए बाधा आदि का उपयोग कर रहा हूं।

मेरा सवाल यह है कि मैं व्यूमोडेल या मॉडल में अवरोध वाले कोड को कहां रखूं? इसे व्यूमोडेल कोड में रखना आसान है, लेकिन मुझे नहीं लगता कि यह एमवीवीएम पैटर्न का अनुपालन करता है।

लेकिन अगर कोड को मॉडल में रखना है, तो क्या इसका मतलब यह है कि जब कार्य पूरा हो जाता है तो ऑब्जेक्ट को अद्यतन करने के लिए मुझे मॉडल में दृश्य मॉडल ऑब्जेक्ट्स को पास करने की आवश्यकता होती है?

उत्तर:

जवाब के लिए 3 № 1

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

ऐसा कहकर कि मैं इस तरह के तर्क पर विश्वास करता हूंमुख्य रूप से ViewModel परत के अंतर्गत आता है। आप अभी भी संख्या या कार्यों या प्रसंस्करण के परिणामों को संग्रहीत करने के लिए अपने मॉडल का उपयोग कर सकते हैं और इसी तरह वास्तविक प्रसंस्करण नहीं कर सकते हैं।

उम्मीद है की यह मदद करेगा।