लोगों के बीच अंतर मैं कई लिंक/ब्लॉग के माध्यम से चला गया है। मैं उनमें से ज्यादातर को आम भाषा में स्पष्ट रूप से संवाद करने में सक्षम नहीं हूं और एमवीपी, एमवीवीएम और एमवीसी के बीच तकनीकी अंतर भी देखता हूं। मुझे पता है कि हर चरित्र का क्या मतलब है और एमवीपी पर भी काम करता है। लेकिन अगर कोई मुझे एक ही सवाल पूछता है तो वास्तव में समझ में नहीं आता है। मैं प्रस्तुतकर्ता के बजाय एमवीपी में नियंत्रक का उपयोग क्यों नहीं कर सकता? और प्रस्तुति के बजाय एमवीवीएम में मॉडल क्यों देखें और यह अलग कैसे होता है? मैं एक ही भाव में कह सकता हूं कि "एमवीसी को एएसपी.नेट के लिए अनुकूलित किया गया है और वीएस में टेम्पलेट्स भी हैं, एमवीपी को एसएल/डब्ल्यूपीएफ के लिए विनफॉर्म और एमवीवीएम के लिए अनुकूलित किया गया है क्योंकि यह इनबिल्ट बाध्यकारी फीचर्स इत्यादि का समर्थन करता है"। लेकिन मुझे लगता है कि यह मुझे समझना नहीं है, लेकिन विस्तार से और गहराई में। क्या कोई इस पर विस्तृत स्पष्टीकरण और उपयोग और वास्तविक चुनने के वास्तविक कारण के साथ प्रकाश डाल सकता है। आप सभी को धन्यवाद ...एमवीपी एमवीसी और एमवीवीएम
उत्तर
मैं आपको एक पूरा उत्तर नहीं दे सकता, हालांकि मैंने इन पैटर्न में से कुछ सीखने के लिए संघर्ष किया और शायद आपको कुछ मुख्य मतभेदों के बारे में एक विचार देने में सक्षम हो।
मैंने पहले एमवीवीएम सीखा, और फिर एमवीसी। मैं एमवीपी से अवगत हूं और यह सिद्धांत में कैसे काम करता है, हालांकि मैंने वास्तव में इसके साथ कोई एप्लिकेशन नहीं बनाया है।
डिज़ाइन पैटर्न के बीच सबसे बड़ा अंतर ऐसा लगता है कि एप्लिकेशन प्रवाह और तर्क को नियंत्रित करता है।
में MVVM, अपने कोड वर्गों (ViewModels
), जबकि अपने Views
सिर्फ एक सुंदर उपयोगकर्ता के अनुकूल इंटरफेस है कि आवेदन कोड के शीर्ष पर बैठता है और उपयोगकर्ताओं को इसे के साथ बातचीत करने की अनुमति देता है कर रहे हैं, आपके आवेदन कर रहे हैं। इसका मतलब है कि ViewModels
का एक बड़ा काम है, क्योंकि आपके आवेदन हैं, और आवेदन प्रवाह से लेकर व्यवसाय तर्क तक सबकुछ के लिए ज़िम्मेदार हैं।
एमवीसी के साथ, आपके Views
आपके आवेदन हैं, जबकि आपके Controller
एप्लिकेशन प्रवाह को संभालते हैं। आवेदन तर्क आमतौर पर ViewModels
में पाया जाता है, जिसे एमवीसी में M
का हिस्सा माना जाता है (एसडेनोट: एमवीसी में M
एमवीवीएम में M
के समान नहीं माना जा सकता है क्योंकि एमवीसी की M
परत में एमवीवीएम की M
परत की तुलना में अधिक कार्यक्षमता शामिल है)। उपयोगकर्ता को एक स्क्रीन दी जाती है (View
), वे इसके साथ बातचीत करते हैं तो Controller
पर कुछ सबमिट करते हैं, और Controller
यह तय करता है कि डेटा के साथ कौन करता है और उपयोगकर्ता को नया View
देता है।
मैंने एमवीपी का उपयोग नहीं किया है, हालांकि इसकी समझ एमवीसी के समान ही थी, लेकिन क्लाइंट/सर्वर एप्लिकेशन के बजाय डेस्कटॉप एप्लिकेशन के लिए अनुकूलित किया गया था। Views
वास्तविक एप्लिकेशन हैं, जबकि Presenter
एप्लिकेशन ईवेंट और व्यावसायिक तर्क को संभालता है।
आपके ज्ञान और अनुभव को साझा करने के लिए राहेल बहुत बहुत धन्यवाद। यह वास्तव में समझने के लिए मुझे बहुत मदद करता है। मैं इसकी सराहना करता हूं। मैं और अधिक से गुजर जाऊंगा, धन्यवाद मैडम :) चीयर्स – Learner
एफवाईआई, एमवीपी दो स्वादों में आता है: निष्क्रिय दृश्य और पर्यवेक्षण नियंत्रक। निष्क्रिय दृश्य एमवीसी से काफी अलग है। मेरी समझ से एमवीपी वेब (जीडब्ल्यूटी) के लिए भी उपयुक्त है। –
@ गेटेटहॉल धन्यवाद, मैं वास्तव में एमवीपी के बारे में बहुत कुछ नहीं जानता। मैं अनुमान लगा रहा हूं कि "निष्क्रिय दृश्य" का अर्थ यह है कि यह घटना संदेशों के लिए निष्क्रिय रूप से इंतजार कर रहा है और उन्हें एमवीसी के नियंत्रक की तरह प्रतिक्रिया देता है, जबकि "पर्यवेक्षण नियंत्रक" का अर्थ है कि यह पूरे एप्लिकेशन प्रवाह का प्रभार लेता है जैसे कि एमवीवीएम के व्यूमोडेल करता है? एक निष्क्रिय बॉस की तरह जो वापस बैठता है और कोई समस्या होने पर केवल आपके काम में हस्तक्षेप करता है, या एक नियंत्रित बॉस जो आपके काम को सूक्ष्म-प्रबंधित करना पसंद करता है? :) – Rachel
MVC में आप मॉडल देखें नियंत्रक एक त्रिकोण एमवीपी में के रूप में जुड़ा हुआ है आप मॉडल देखें प्रस्तुतकर्ता जुड़ा हुआ lineary मूल रूप से MVC और एमवीपी बहुत बहुत समान हैं, लेकिन यह MVC के साथ काम करने सरल है, भले क्योंकि आप पहले से ही निर्माण किया है एमएस प्लगइन अपने एमवीसी को अपने फायदे प्रदान करने और अलग करने के लिए एमवीपी के साथ आपका ऐप सामान्य एएसपी.नेट ऐप की तरह दिखता है, इसका मतलब है: विचारों के लिए कोई रेजर, नहीं। सीएसटीएमएल, आदि और आपको संरचना से निपटना होगा अपनी खुद की। एमवीवीएम आमतौर पर सिल्वरलाइट/डब्ल्यूपीएफ में उपयोग किया जाता है और उन तकनीकों के लिए यह सबसे अच्छा विकल्प है। एमवीवीएम और एमवीसी का विचार काफी समान है। यदि आप नॉकआउट का उपयोग करते हैं तो आप अपने वेब ऐप के क्लाइंट साइड पर एमवीवीएम भी लागू कर सकते हैं।
- 1. एमवीसी/एमवीपी
- 2. एमवीसी/एमवीपी
- 3. क्या उपयोग करें? एमवीसी, एमवीपी या एमवीवीएम या ...?
- 4. एएसपी.NET एमवीसी और एमवीवीएम
- 5. एएसपी.नेट एमवीपी बनाम एएसपी.नेट एमवीसी
- 6. Winforms में एमवीपी
- 7. एएसपी.नेट एमवीसी/एमवीवीएम
- 8. एमवीसी से एमवीवीएम
- 9. एमवीपी-निष्क्रिय दृश्य और एमवीपी-पर्यवेक्षण नियंत्रक
- 10. एमवीसी/एमवीपी/एमवीवीएम - व्यवसाय तर्क को व्यवस्थित करने के लिए कैसे करें
- 11. एमवीपी/एमवीवीएम - सूचियों का फ़िल्टरिंग, किसकी ज़िम्मेदारी है?
- 12. कोको एमवीसी वास्तव में एमवीपी नहीं है?
- 13. क्या एमवीसी और एमवीपी पर्यवेक्षण नियंत्रक समान है?
- 14. Winforms में एमवीसी एमवीपी पैटर्न का उपयोग
- 15. एमवीवीएम व्यूमोडेल बनाम एमवीसी व्यूमोडेल
- 16. एमवीपी
- 17. एमवीपी
- 18. एमवीपी
- 19. रूबी, पायथन या PHP में एमवीपी और एमवीवीएम पैटर्न क्यों नहीं देखे जाते हैं?
- 20. क्यों एमवीवीएम और इसका मुख्य लाभ क्या है?
- 21. एमवीपी और कई उपयोगकर्ता नियंत्रण
- 22. एमवीपी और उपयोगकर्ता नियंत्रण और आमंत्रण
- 23. एमवीपी संचार?
- 24. एमवीपी (मॉडल व्यू प्रेजेंटर) या एमवीसी (मॉडल व्यू कंट्रोलर)
- 25. डब्ल्यूपीएफ और एमवीवीएम। घटनाक्रम
- 26. एमवीवीएम और निर्भरता इंजेक्शन
- 27. एमवीवीएम और सिल्वरलाइट
- 28. बड़ी परियोजना और एमवीवीएम
- 29. एमवीवीएम, डब्ल्यूपीएफ, और सत्यापन
- 30. एमवीवीएम, संग्रह और ओआरएम
यहां बहुत सारी सहायता है: https://www.google.com/#q=difference+between+MVP+MVC+and+MVVM।हम क्या कह सकते हैं कि उन ब्लॉगों में पहले से ही पर्याप्त रूप से शामिल नहीं है? –
@ रॉबर्ट हार्वे: अधिकांश ब्लॉग वास्तव में भ्रमित होते हैं और लोग उसी प्रतिलिपि चिपकाने को दोहराते रहते हैं। मैं यह नहीं देखता कि इस तरह से यह सटीक और समझा जा सकता है। मुझे भी यकीन है कि, मेरे जैसे कई लोग हैं जो पूछे जाने पर मतभेदों को स्पष्ट रूप से स्पष्ट नहीं कर सकते हैं। मैं 3 के अंतर को समझाते हुए एक लेट मैन वाक्यों को पसंद करूंगा और जैसा कि मैंने पूछा था, अगर मैं वर्तमान मॉडल के साथ नियंत्रक को वर्तमान और प्रस्तुतकर्ता के साथ बदलता हूं तो क्या होगा। मुझे इन प्रकार के सवालों के जवाब चाहिए। तकनीकी अंतर भी। (क्योंकि सभी एक ही लक्ष्य में हैं) – Learner
SO विशिष्ट प्रोग्रामिंग प्रश्नों के लिए है। – Paparazzi