मेरे पास दो अलग-अलग विचारों वाला सी # एप्लीकेशन है। प्रत्येक दृश्य का अपना व्यूमॉडल होता है। ViewModels एक ही मॉडल तक पहुँचते हैं। दृश्यों को एक ही मॉडल से एक अलग प्रारूप में डेटा की आवश्यकता होती है। ViewModels स्वरूपण और सत्यापन को संभालता है।

दोनों ViewModels किसी न किसी तरह से एक दूसरे के साथ संवाद करने में सक्षम होना चाहिए। उदाहरण के लिए यदि ViewModel1 मॉडल ViewModel2 में कुछ अपडेट करता है तो उसे अपना व्यू भी अपडेट करना चाहिए। व्यूमोडल्स को एक-दूसरे को जानने की ज़रूरत नहीं है, जब एक तरफ कुछ बदलता है तो उन्हें बस सिंक हो जाना चाहिए।

मुझे मध्यस्थ पैटर्न के बारे में कुछ पुरानी पोस्ट मिलीं। क्या यह अभी भी जाने का रास्ता है? मुझे लगता है कि ऑब्जर्वर पैटर्न यहां काम नहीं करेगा। एकमात्र विकल्प जिसके बारे में मैं सोच सकता था, दोनों ViewModels पर एक इंटरफ़ेस बनाना था जो उन्हें एक दूसरे से बात करने देता था।

-3
J. Doe 15 जुलाई 2019, 22:23

2 जवाब

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

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

1
Reza Nourbakhsh 16 जुलाई 2019, 07:05

इसके लिए सबसे प्रासंगिक पैटर्न एमवीसी होगा। यदि आप .Net Core का उपयोग कर रहे हैं, तो आप इसे Microsoft Docs online

नियंत्रक एक दृश्य मॉडल वापस करने में सक्षम होगा जिसमें अद्यतन मान हैं। आपके पास केवल 1 व्यू मॉडल भी हो सकता है जिसका उपयोग आपके दोनों विचारों द्वारा किया जाता है।

1
zmike 15 जुलाई 2019, 22:49