शुरुआती लोगों के लिए ASP.NET MVC ट्यूटोरियल: क्या है, Archiटेक्चर
ASP.NET MVC क्या है?
ASP.NET MVC एक ओपन सोर्स वेब डेवलपमेंट फ्रेमवर्क है Microsoft जो एक मॉडल व्यू कंट्रोलर आर्किटेक्चर प्रदान करता है। ASP.net MVC वेब एप्लिकेशन बनाने के लिए ASP.net वेब फॉर्म का विकल्प प्रदान करता है। यह वेब ऐप बनाने, तैनात करने और चलाने के लिए .Net प्लेटफ़ॉर्म का एक हिस्सा है। आप HTML, CSS, jQuery की मदद से वेब ऐप और वेबसाइट विकसित कर सकते हैं। Javascript, आदि
इस ASP.NET MVC ट्यूटोरियल के साथ MVC सीखें जो शुरुआती लोगों के लिए MVC की सभी बुनियादी अवधारणाओं को कवर करता है:
ASP.net MVC क्यों?
यद्यपि वेब फॉर्म बहुत सफल रहे, Microsoft ASP.net MVC विकसित करने के बारे में सोचा। ASP.net वेबफॉर्म्स के साथ मुख्य समस्या प्रदर्शन की है।
में वेब आवेदनप्रदर्शन को परिभाषित करने वाले चार मुख्य पहलू हैं:-
- प्रतिक्रिया समय संबंधी समस्याएं
- यूनिट परीक्षण की समस्या
- HTML अनुकूलन
- कोड-बिहाइंड क्लास की पुनः प्रयोज्यता
ASP.net MVC उपरोक्त मापदंडों पर उत्कृष्ट है।
MVC का संस्करण इतिहास
एएसपी.नेट एमवीसी1
- 13 मार्च 2009 को जारी किया गया
- यह .NET 3.5 पर चलता है
- विजुअल स्टूडियो 2008
- वेबफॉर्म इंजन के साथ MVC पैटर्न आर्किटेक्चर
- मुख्य विशेषताओं में HTML और शामिल हैं इकाई का परीक्षण, Ajax हेल्पर्स, रूटिंग, आदि.
एएसपी.नेट एमवीसी2
- यह संस्करण 10 मार्च 2010 को जारी किया गया
- .NET 3.5,4.0 और इसके साथ चलता है Microsoft विजुअल स्टूडियो 2008
- टेम्प्लेटेड हेल्पर्स, स्वचालित मचान और अनुकूलन योग्य टेम्पलेट्स के साथ यूएल हेल्पर्स जैसी सुविधाएँ शामिल करें
- यह क्लाइंट और सर्वर साइड पर मॉडल सत्यापन लागू करने के लिए डेटाएनोटेशन विशेषताओं का समर्थन करता है
एएसपी.नेट एमवीसी3
- यह 13 जनवरी 2011 को जारी किया गया था
- .NET 4.0 और इसके साथ चलता है Microsoft विजुअल स्टूडियो 2010
- एन का उपयोगuGet सॉफ्टवेयर वितरित करने के लिए और आपको प्लेटफ़ॉर्म पर निर्भरता का प्रबंधन करने की अनुमति देता है
- बेहतर Javaस्क्रिप्ट समर्थन, jQuery सत्यापन, और JSON बाइंडिंग
- यह रेज़र व्यू इंजन जैसी सुविधाएँ प्रदान करता है; क्लाइंट और सर्वर दोनों तरफ मॉडल सत्यापन के लिए उन्नत डेटा एनोटेशन विशेषताएँ
एएसपी.नेट एमवीसी4
- यह संस्करण अगस्त 2012 को जारी किया गया था
- यह .NET 4.0, 4.5 और विजुअल स्टूडियो 2010 और विजुअल स्टूडियो 2012 के साथ चलता है
- डिफ़ॉल्ट प्रोजेक्ट टेम्पलेट्स में संवर्द्धन
- jQuery मोबाइल का उपयोग करके मोबाइल प्रोजेक्ट टेम्पलेट, एसिंक्रोनस नियंत्रकों के लिए कार्य समर्थन, बंडलिंग, मिनिफिकेशन आदि जैसी सुविधाएँ प्रदान करता है।
एएसपी.नेट एमवीसी5
- 17 अक्टूबर 2013 को रिलीज़ हुई
- .NET 4.5, 4.5.1 और Visual Studio 2012 और Visual OneASP.NET पर चलता है
- MVC में विशेषता रूटिंग का समर्थन करता है
एमवीसी की विशेषताएं
- आसान और घर्षण रहित परीक्षण
- अपने HTML पर पूर्ण नियंत्रण, Javaस्क्रिप्ट , और यूआरएल
- मौजूदा लाभ उठाएं ASP.Net विशेषताएं
- ASP.Net के लिए एक नया प्रस्तुतिकरण विकल्प
- Asp.Net को प्रोग्राम करने का एक सरल तरीका
- तर्क का स्पष्ट पृथक्करण: मॉडल, दृश्य, नियंत्रक
- परीक्षण संचालित विकास
- समानांतर विकास के लिए समर्थन
MVC एप्लीकेशन बनाते समय याद रखने योग्य बातें
इस ASP.NET MVC ट्यूटोरियल में कुछ उपयोगी बातें दी गई हैं जिन्हें आपको MVC अनुप्रयोग बनाने के लिए याद रखना होगा:
- आपको यह याद रखना होगा कि ASP .net MVC ASP.Net वेब फॉर्म आधारित अनुप्रयोगों का प्रतिस्थापन नहीं है
- एमवीसी ऐप विकास का दृष्टिकोण विशिष्ट विकास आवश्यकताओं के अनुरूप एएसपी .नेट एमवीसी द्वारा प्रदान की गई एप्लिकेशन आवश्यकताओं और सुविधाओं के आधार पर तय किया जाना चाहिए।
- ASP .NET MVC के साथ अनुप्रयोग विकास प्रक्रिया वेब फॉर्म आधारित अनुप्रयोगों की तुलना में अधिक जटिल है।
- अनुप्रयोग कार्यों के पृथक्करण से अनुप्रयोग की रखरखाव क्षमता हमेशा अधिक होगी।

MVC एक सॉफ्टवेयर आर्किटेक्चर पैटर्न है जो सेपरेशन ऑफ कंसर्न मेथड का पालन करता है। इस मॉडल में .Net एप्लीकेशन को तीन इंटरकनेक्टेड भागों में विभाजित किया जाता है जिन्हें मॉडल, व्यू और कंट्रोलर कहा जाता है।
एमवीसी पैटर्न का लक्ष्य यह है कि इनमें से प्रत्येक भाग को सापेक्ष अलगाव में विकसित, परीक्षण किया जा सके तथा साथ ही इन्हें संयोजित करके एक बहुत मजबूत अनुप्रयोग तैयार किया जा सके।
आइये इन सभी को विस्तार से देखें:
मॉडल
मॉडल ऑब्जेक्ट्स अनुप्रयोग के भाग होते हैं जो अनुप्रयोग के लिए तर्क को क्रियान्वित करते हैं। डेटा डोमेनयह डेटाबेस में मॉडल स्थिति को पुनः प्राप्त करता है और संग्रहीत करता है। उदाहरण के लिए, उत्पाद ऑब्जेक्ट किसी डेटाबेस से जानकारी प्राप्त कर सकता है। डेटाबेस, उस पर काम करें। फिर SQL सर्वर में उत्पाद तालिका में जानकारी वापस लिखें।
दृश्य
दृश्य वे घटक हैं जिनका उपयोग एप्लिकेशन के उपयोगकर्ता इंटरफ़ेस (UI) को प्रदर्शित करने के लिए किया जाता है जिसे MVC में व्यूमॉडल भी कहा जाता है। यह .Net MVC एप्लिकेशन को प्रदर्शित करता है जिसे मॉडल डेटा से बनाया जाता है।
इसका सामान्य उदाहरण आइटम टेबल का संपादन दृश्य होगा। यह उत्पादों और ऑब्जेक्ट की वर्तमान स्थिति के आधार पर टेक्स्ट बॉक्स, पॉप-अप और चेक बॉक्स प्रदर्शित करता है।
नियंत्रक
नियंत्रक उपयोगकर्ता इंटरैक्शन को संभालते हैं, मॉडल के साथ काम करते हैं, और उस डिस्प्ले Ul को प्रस्तुत करने के लिए एक दृश्य का चयन करते हैं। .Net MVC ऐप में, दृश्य केवल जानकारी प्रदर्शित करता है, नियंत्रक MVC में एक्शन फ़िल्टर का उपयोग करके उपयोगकर्ता इनपुट और इंटरैक्शन का प्रबंधन और प्रतिक्रिया करता है।
उदाहरण के लिए, नियंत्रक क्वेरी-स्ट्रिंग मानों का प्रबंधन करता है और उन मानों को मॉडल में भेजता है।
वेब फॉर्म बनाम MVC
| पैरामीटर्स | वेबफ्रॉम्स | MVC |
|---|---|---|
| आदर्श | Asp.Net वेब फॉर्म इवेंट-संचालित विकास मॉडल का अनुसरण करते हैं। | Asp.Net MVC MVC पैटर्न आधारित विकास मॉडल का उपयोग करता है। |
| कब से उपयोग किया गया | 2002 से अस्तित्व में है | इसे पहली बार 2009 में जारी किया गया था |
| दृश्य स्थिति के लिए समर्थन | Asp.Net वेब फ़ॉर्म क्लाइंट साइड पर स्थिति प्रबंधन के लिए व्यू स्टेट का समर्थन करता है। | .Net MVC दृश्य स्थिति का समर्थन नहीं करता है। |
| यूआरएल प्रकार | Asp.Net वेब फ़ॉर्म में फ़ाइल-आधारित URL होते हैं। इसका मतलब है कि फ़ाइल नाम URL में मौजूद है और उन्हें भौतिक रूप से मौजूद होना चाहिए। | Asp.Net MVC में रूट-आधारित URL होते हैं, अर्थात URL जो नियंत्रकों और क्रियाओं पर पुनर्निर्देशित होते हैं। |
| वाक्य - विन्यास | Asp.Net MVC वेब फॉर्म सिंटैक्स का अनुसरण करता है। | Asp.Net MVC अनुकूलन योग्य सिंटैक्स का पालन करता है। |
| दृश्य प्रकार | वेब फॉर्म में, दृश्य कोड के पीछे (ASPX-CS) अर्थात तर्क से कसकर जुड़े हुए हैं। | एमवीसी, दृश्य और तर्क को हमेशा अलग-अलग रखा जाता है। |
| सुसंगत रूप और अनुभव | इसमें एकरूपता के लिए मास्टर पेज हैं। | Asp.Net MVC में एक सुसंगत लुक के लिए लेआउट हैं। |
| कोड पुन: प्रयोज्य | वेब फ़ॉर्म कोड पुनः प्रयोज्यता के लिए उपयोगकर्ता नियंत्रण प्रदान करता है। | Asp.Net MVC ने कोड पुनः प्रयोज्यता के लिए आंशिक दृष्टिकोण प्रस्तुत किया है। |
| HTML के लिए नियंत्रण | Less प्रस्तुत HTML पर नियंत्रण. | HTML पर पूर्ण नियंत्रण |
| राज्य प्रबंधन | नियंत्रणों का स्वचालित राज्य प्रबंधन. | मैनुअल राज्य प्रबंधन. |
| टीडीडी समर्थन | कमजोर या कस्टम TDD आवश्यक. | टी.डी.डी. को प्रोत्साहित करता है और इसमें शामिल है! |
ASP.NET MVC के लाभ
- डिफ़ॉल्ट रूप से अत्यधिक रखरखाव योग्य अनुप्रयोग
- यह आपको एप्लिकेशन के किसी भी घटक को प्रतिस्थापित करने की अनुमति देता है।
- परीक्षण संचालित विकास के लिए बेहतर समर्थन
- मॉडल, दृश्य और नियंत्रकों के विभाजन के कारण जटिल अनुप्रयोगों का प्रबंधन आसान है।
- फ्रंट कंट्रोलर पैटर्न के साथ मजबूत रूटिंग तंत्र की पेशकश
- दृश्य स्थिति और सर्वर-आधारित प्रपत्रों को समाप्त करके अनुप्रयोग व्यवहार पर बेहतर नियंत्रण प्रदान करता है
- .Net MVC अनुप्रयोगों को डेवलपर्स और वेब डिजाइनरों की बड़ी टीमों द्वारा समर्थित किया जाता है
- यह एप्लिकेशन के व्यवहार पर अधिक नियंत्रण प्रदान करता है। यह सर्वर पर किए गए अनुरोधों के लिए अनुकूलित बैंडविड्थ का भी उपयोग करता है
ASP.NET MVC के नुकसान
- आप .aspx पृष्ठ की तरह डिज़ाइन पृष्ठ पूर्वावलोकन नहीं देख सकते।
- आपको इसका वास्तविक डिज़ाइन देखने के लिए हर बार प्रोग्राम चलाना होगा।
- आवेदन के प्रवाह को समझना चुनौतीपूर्ण हो सकता है
- इसे लागू करना काफी जटिल है, इसलिए यह छोटे स्तर के अनुप्रयोगों के लिए आदर्श विकल्प नहीं है
- ASP.NET के लिए MVC सीखना कठिन है, क्योंकि इसके लिए MVC पैटर्न की अच्छी समझ की आवश्यकता होती है
ASP.Net MVC का उपयोग करते समय सर्वोत्तम अभ्यास
- किसी भी अवांछित स्थिति से बचने के लिए बड़े और जटिल कोड के मामले में MODEL के लिए एक अलग असेंबली बनाएं।
- मॉडल में व्यावसायिक तर्क, सत्र रखरखाव, सत्यापन भाग और डेटा तर्क भाग शामिल होना चाहिए।
- VIEW में कोई भी व्यावसायिक तर्क और सत्र रखरखाव नहीं होना चाहिए, View में डेटा तक पहुँचने के लिए ViewData का उपयोग करें
- व्यावसायिक तर्क और डेटा एक्सेस कभी भी ControllerViewData में नहीं होनी चाहिए
- नियंत्रक को केवल दृश्य तैयार करने और उसे वापस करने, मॉडल को कॉल करने, कार्रवाई के लिए पुनर्निर्देशित करने आदि के लिए जिम्मेदार होना चाहिए।
- जब आप एप्लीकेशन बनाएं तो उसमें से डेमो कोड हटा दें खाता नियंत्रक हटाएँ
- अपने दृश्य से HTML मार्कअप बनाने के लिए केवल विशिष्ट दृश्य इंजन का उपयोग करें क्योंकि यह HTML और प्रोग्रामिंग कोड का संयोजन है।
सारांश
- ASP.NET MVC एक ओपन सोर्स वेब डेवलपमेंट फ्रेमवर्क है Microsoft यह एक प्रदान करता है मॉडल दृश्य नियंत्रक वास्तुकला.
- ASP.net MVC वेब अनुप्रयोगों के निर्माण के लिए ASP.net वेब फ़ॉर्म का एक विकल्प प्रदान करता है।
- ASP.net वेबफॉर्म्स के साथ मुख्य समस्या प्रदर्शन की है।
- ASP.net MVC आपके HTML और URL पर पूर्ण नियंत्रण के साथ आसान और सहज परीक्षण क्षमता प्रदान करता है।
- आपको यह याद रखना होगा कि ASP .net MVC, ASP.Net वेब फॉर्म आधारित अनुप्रयोगों का प्रतिस्थापन नहीं है।
- MVC ऐप विकास या ASP.NET MVC जीवन चक्र का दृष्टिकोण विशिष्ट विकास आवश्यकताओं के अनुरूप ASP .net MVC द्वारा प्रदान की गई एप्लिकेशन आवश्यकताओं और सुविधाओं के आधार पर तय किया जाना चाहिए।
- ASP.NET MVC डिफ़ॉल्ट रूप से अत्यधिक रखरखाव योग्य अनुप्रयोग प्रदान करता है।
- ASP.net के साथ आप .aspx पेज की तरह डिज़ाइन पेज पूर्वावलोकन नहीं देख सकते।
- सर्वोत्तम अभ्यास के रूप में, मॉडल में व्यवसाय तर्क, सत्र रखरखाव, सत्यापन भाग और डेटा तर्क भाग शामिल होना चाहिए।
