7

पृष्ठभूमि: मैं पिछले कुछ समय से इस बारे में सोच रहा है और मैं इसे करने के लिए किसी भी अच्छा जवाब नहीं मिला है। MVC 2,3 और 4 के साथ WebForms के साथ कुछ समय के लिए काम और समय समय पर करने के बाद मैं अभी भी समझ में नहीं आता कि कैसे ASP.NET MVC MVC पैटर्न के एक कार्यान्वयन होने का दावा कर सकते हैं।क्या एएसपी.नेट एमवीसी एमवीसी आर्किटेक्ट पैटर्न का गलत कार्यान्वयन है?

एमवीसी (पैटर्न) के बारे में मैंने पहली बार सीखा है कि यह चक्रीय है - जिसका अर्थ यह है कि व्यू कंट्रोलर का उपयोग करता है जो मॉडल को अद्यतन करता है जो दृश्य को अपडेट करता है - और इस तरह यह गोल और गोल होता है। स्वाभाविक रूप से सर्कल में उपयोगकर्ता के साथ नए निर्देश/डेटा इत्यादि इनपुट करने के लिए

हालांकि, एएसपी.नेट एमवीसी वास्तव में एक चक्रीय कार्यान्वयन नहीं है, जो W3CSchools से नीचे रंगीन छवि में अच्छी तरह से प्रदर्शित किया गया है। मैं भी व्यवहार में यह देखा है जहां देखें एक मॉडल का एक उदाहरण है और मॉडल नियंत्रक से अद्यतन किया जाता है लेकिन जहां नियंत्रक भी देखें अद्यतन करने के बाद मॉडल अद्यतन किया गया है के लिए जिम्मेदार है।

प्रश्न: ASP.NET MVC ग़लती से सचेत द्वारा लागू किया गया है और यह एक मालिकाना व्याख्या के रूप में केवल देखा जाना चाहिए या मैं MVC पैटर्न के नियमों गलत समझा है?

ASP.NET MVC MVC Architectural pattern

+1

अच्छा प्रश्न का उपयोग दृश्य अद्यतन करता है। मैंने देखा है कि एमवीसी ढांचे के अन्य कार्यान्वयन मॉडल से दृश्य अलग है। आईओएस और एंड्रॉइड विकास उदाहरण हैं। एएसपी.नेट एमवीसी में, आप दृश्य के अंदर मॉडल का उपयोग कर सकते हैं। – Slavo

+2

हां यह गलत है। अधिकांशतः मूल 1.x संस्करण ने रेल को टेम्पलेट के रूप में लिया (जो वास्तव में पीएसी और पेजकंट्रोलर मिश्रण के अजीब बास्टर्डिज़ेशन को लागू करता है)। वर्तमान एएसपी.नेट एमवीसी संस्करण अभी भी इस विकल्प से पीड़ित हैं। –

+0

अगर मैं कर सकता हूं तो उत्तर के रूप में चिह्नित होगा। – Marcus

उत्तर

-2

(डाटाबेस) मॉडल दृश्य को अपडेट नहीं करता है, नियंत्रक देखें मॉडल गुजर जबकि अगर आप अलग दृश्य मॉडल (जो आपको चाहिए)

+0

ASP.NET MVC में हाँ, लेकिन इस MVC पैटर्न में के रूप में तक मुझे पता है निहित नहीं है। इसके बजाय, पैटर्न में मॉडल को दृश्य को अद्यतन करना चाहिए, नियंत्रक से हस्तक्षेप के बिना। मुझे यकीन नहीं है कि मैं सहमत हूं कि मॉडल डेटाबेस के बराबर है। मैं मॉडल को डेटा मॉडल के प्रतिनिधित्व के रूप में देखता हूं। इसके अलावा, मेरे प्रश्न का उत्तर नहीं देता है। – Marcus

+0

ठीक है अगर आप विकिपीडिया लेख पढ़ते हैं तो यह कहता है कि एमवीसी पैटर्न विकसित हुआ है और यह वर्तमान वेब विकास रुझान 'के साथ क्या हो रहा है, यह पहली एमवीसी अवधारणा नियंत्रक को "इनपुट से संबंधित मॉड्यूल" के रूप में परिभाषित करती है (इसी प्रकार आउटपुट आउटपुट के साथ कैसे काम करता है)। नियंत्रक, 2000 के आधुनिक अनुप्रयोगों में, एक मॉड्यूल या कोड का मध्यस्थ भाग है, जो संचार (मध्य और दृश्य के बीच) मध्यस्थता करता है और सीधे कॉल या पर्यवेक्षक का उपयोग करके सत्यापन को एकीकृत करता है - मॉडल को डीक्यूपल करने के लिए सक्रिय मॉडल में देखें। ' – matthijsb

+0

हाँ, निश्चित है, लेकिन विकसित करने के लिए नाम को बनाए रखते हुए सभी संभावित दिशाओं में जाने जैसा ही नहीं है। यही कारण है कि हमारे पास एमवीवीएम, एमवीपी, डीसीआई और बहुत कुछ है जो सभी एमवीसी पैटर्न से प्राप्त होते हैं लेकिन अपने गुणों के साथ। नोट: टिप्पणियां मुझ पर बदलती रहती हैं; तथ्य संचार में नियंत्रक सौदों नहींं 'मॉडल और दृश्य के बीच' संचार की दिशा के बारे में कुछ भी कहना है कि।मुझे अभी भी लगता है कि एक सच्चे एमवीसी चक्रीय होना चाहिए और इसलिए, संचार केवल देखने के लिए मॉडल से नियंत्रक को देखने के लिए होना चाहिए। – Marcus

संबंधित मुद्दे