शुरुआती लोगों के लिए ASP.NET MVC ट्यूटोरियल: क्या है, Archiटेक्चर
⚡ स्मार्ट सारांश
ASP.NET MVC एक ओपन सोर्स सॉफ्टवेयर है। Microsoft यह एक ऐसा फ्रेमवर्क है जो वेब एप्लिकेशन को मॉडल, व्यू और कंट्रोलर लेयर्स में विभाजित करता है, जिससे डेवलपर्स को HTML पर पूरा नियंत्रण, परीक्षण योग्य कोड, स्वच्छ रूटिंग और क्लासिक वेब फॉर्म्स का एक हल्का विकल्प मिलता है।
ASP.NET MVC क्या है?
ASP.NET MVC एक ओपन सोर्स वेब डेवलपमेंट फ्रेमवर्क है Microsoft यह मॉडल व्यू कंट्रोलर आर्किटेक्चर प्रदान करता है। ASP.NET MVC वेब एप्लिकेशन बनाने के लिए ASP.NET वेब फॉर्म का एक विकल्प है। यह वेब ऐप्स बनाने, डिप्लॉय करने और चलाने के लिए .NET प्लेटफॉर्म का एक हिस्सा है। आप HTML, CSS, jQuery की मदद से वेब ऐप्स और वेबसाइट विकसित कर सकते हैं। Javaस्क्रिप्ट, आदि.
इस ASP.NET MVC ट्यूटोरियल के साथ MVC सीखें जो शुरुआती लोगों के लिए MVC की सभी बुनियादी अवधारणाओं को कवर करता है:
ASP.NET MVC क्यों?
यद्यपि वेब फॉर्म बहुत सफल रहे, Microsoft विकास के बारे में सोचाping एएसपी.नेट एमवीसी। 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 सॉफ्टवेयर वितरित करने के लिए और आपको प्लेटफ़ॉर्म पर निर्भरता का प्रबंधन करने की अनुमति देता है
- बेहतर JavajQuery वैलिडेशन और JSON बाइंडिंग के साथ स्क्रिप्ट सपोर्ट
- यह क्लाइंट और सर्वर दोनों पक्षों पर मॉडल सत्यापन के लिए रेज़र व्यू इंजन और उन्नत डेटा एनोटेशन विशेषताओं जैसी सुविधाएँ प्रदान करता है।
एएसपी.नेट एमवीसी4
- यह संस्करण अगस्त 2012 को जारी किया गया था
- यह .NET 4.0, 4.5 और विजुअल स्टूडियो 2010 और विजुअल स्टूडियो 2012 के साथ चलता है
- डिफ़ॉल्ट प्रोजेक्ट टेम्पलेट्स में संवर्द्धन
- jQuery मोबाइल का उपयोग करके मोबाइल प्रोजेक्ट टेम्पलेट, एसिंक्रोनस नियंत्रकों के लिए कार्य समर्थन, बंडलिंग, मिनिफिकेशन आदि जैसी सुविधाएँ प्रदान करता है।
एएसपी.नेट एमवीसी5
- 17 अक्टूबर 2013 को रिलीज़ हुई
- यह .NET 4.5, 4.5.1 और Visual Studio 2012 और Visual Studio 2013 के साथ चलता है।
- MVC में विशेषता रूटिंग का समर्थन करता है
एमवीसी की विशेषताएं
- आसान और घर्षण रहित परीक्षण
- अपने HTML पर पूर्ण नियंत्रण, Javaस्क्रिप्ट, और URLs
- मौजूदा लाभ उठाएं ASP.NET विशेषताएं
- ASP.NET के लिए एक नया प्रस्तुति विकल्प
- ASP.NET प्रोग्रामिंग का एक सरल तरीका
- तर्क का स्पष्ट पृथक्करण: मॉडल, दृश्य, नियंत्रक
- परीक्षण संचालित विकास
- समानांतर विकास के लिए समर्थन
MVC एप्लीकेशन बनाते समय याद रखने योग्य बातें
इस ASP.NET MVC ट्यूटोरियल में कुछ उपयोगी बातें दी गई हैं जिन्हें आपको MVC अनुप्रयोग बनाने के लिए याद रखना होगा:
- आपको यह याद रखना होगा कि ASP.NET MVC, ASP.NET वेब फॉर्म आधारित अनुप्रयोगों का विकल्प नहीं है।
- MVC ऐप डेवलपमेंट का दृष्टिकोण एप्लिकेशन की आवश्यकताओं और ASP.NET MVC द्वारा प्रदान की गई सुविधाओं के आधार पर तय किया जाना चाहिए ताकि विशिष्ट विकास आवश्यकताओं के अनुरूप हो सके।
- ASP.NET MVC के साथ एप्लिकेशन डेवलपमेंट प्रक्रिया वेब फॉर्म आधारित एप्लिकेशन की तुलना में अधिक जटिल है।
- अनुप्रयोग कार्यों के पृथक्करण से अनुप्रयोग की रखरखाव क्षमता हमेशा अधिक होगी।
एमवीसी वास्तुशिल्प पैटर्न
MVC एक सॉफ्टवेयर आर्किटेक्चर पैटर्न है जो 'सेपरेशन ऑफ कंसर्न्स' पद्धति का पालन करता है। इस मॉडल में .NET एप्लिकेशन को तीन परस्पर जुड़े भागों में विभाजित किया जाता है जिन्हें मॉडल, व्यू और कंट्रोलर कहा जाता है।
एमवीसी पैटर्न का लक्ष्य यह है कि इनमें से प्रत्येक भाग को सापेक्ष अलगाव में विकसित, परीक्षण किया जा सके तथा साथ ही इन्हें संयोजित करके एक बहुत मजबूत अनुप्रयोग तैयार किया जा सके।
आइए इन सभी को विस्तार से देखें:
मॉडल
मॉडल ऑब्जेक्ट्स अनुप्रयोग के भाग होते हैं जो अनुप्रयोग के लिए तर्क को क्रियान्वित करते हैं। डेटा डोमेनयह डेटाबेस में मॉडल स्थिति को पुनः प्राप्त करता है और संग्रहीत करता है। उदाहरण के लिए, उत्पाद ऑब्जेक्ट किसी डेटाबेस से जानकारी प्राप्त कर सकता है। डेटाबेस, उस पर काम करें। फिर SQL सर्वर में उत्पाद तालिका में जानकारी वापस लिखें।
दृश्य
व्यू वे घटक हैं जिनका उपयोग एप्लिकेशन के यूजर इंटरफेस (यूआई) को प्रदर्शित करने के लिए किया जाता है, जिन्हें एमवीसी में व्यूमॉडल भी कहा जाता है। यह मॉडल डेटा से निर्मित .NET एमवीसी एप्लिकेशन को प्रदर्शित करता है।
इसका सामान्य उदाहरण आइटम टेबल का संपादन दृश्य होगा। यह उत्पादों और ऑब्जेक्ट की वर्तमान स्थिति के आधार पर टेक्स्ट बॉक्स, पॉप-अप और चेक बॉक्स प्रदर्शित करता है।
नियंत्रक
कंट्रोलर उपयोगकर्ता के साथ बातचीत को संभालते हैं, मॉडल के साथ काम करते हैं और यूआई प्रदर्शित करने के लिए व्यू का चयन करते हैं। .NET MVC ऐप में, व्यू केवल जानकारी प्रदर्शित करता है, जबकि कंट्रोलर MVC में एक्शन फ़िल्टर का उपयोग करके उपयोगकर्ता के इनपुट और बातचीत को प्रबंधित करता है और उस पर प्रतिक्रिया देता है।
उदाहरण के लिए, नियंत्रक क्वेरी-स्ट्रिंग मानों का प्रबंधन करता है और उन मानों को मॉडल में भेजता है।
वेब फॉर्म बनाम MVC
| पैरामीटर्स | वेबफ़ॉर्म | MVC |
|---|---|---|
| आदर्श | ASP.NET वेब फॉर्म इवेंट-ड्रिवन डेवलपमेंट मॉडल का अनुसरण करते हैं। | ASP.NET MVC, MVC पैटर्न पर आधारित विकास मॉडल का उपयोग करता है। |
| कब से उपयोग किया गया | 2002 से अस्तित्व में है | इसे पहली बार 2009 में जारी किया गया था |
| दृश्य स्थिति के लिए समर्थन | ASP.NET वेब फॉर्म क्लाइंट साइड पर स्टेट मैनेजमेंट के लिए व्यू स्टेट को सपोर्ट करता है। | .NET MVC व्यू स्टेट को सपोर्ट नहीं करता है। |
| URL टाइप | ASP.NET वेब फॉर्म में फ़ाइल-आधारित सुविधाएँ हैं। URLइसका मतलब है कि फ़ाइल नाम मौजूद है। URLऔर उनका भौतिक अस्तित्व होना आवश्यक है। | ASP.NET MVC में रूट-आधारित प्रणाली है। URLइसका मतलब है URLवे s जिन्हें कंट्रोलर और एक्शन की ओर पुनर्निर्देशित किया जाता है। |
| वाक्य - विन्यास | ASP.NET वेब फॉर्म, वेब फॉर्म सिंटैक्स का पालन करते हैं। | ASP.NET MVC अनुकूलन योग्य सिंटैक्स का पालन करता है। |
| दृश्य प्रकार | वेब फॉर्म और व्यू आपस में घनिष्ठ रूप से जुड़े हुए हैं। Code (ASPX-CS) के पीछे, यानी तर्क। | एमवीसी, दृश्य और तर्क को हमेशा अलग-अलग रखा जाता है। |
| सुसंगत रूप और अनुभव | इसमें एकरूपता के लिए मास्टर पेज हैं। | ASP.NET MVC में एकरूपता बनाए रखने के लिए लेआउट उपलब्ध हैं। |
| Code रेस की क्षमता | वेब फ़ॉर्म कोड पुनः प्रयोज्यता के लिए उपयोगकर्ता नियंत्रण प्रदान करता है। | 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 का उपयोग करें
- कंट्रोलर में बिजनेस लॉजिक और डेटा एक्सेस कभी नहीं होना चाहिए।
- नियंत्रक को केवल दृश्य तैयार करने और उसे वापस करने, मॉडल को कॉल करने, कार्रवाई के लिए पुनर्निर्देशित करने आदि के लिए जिम्मेदार होना चाहिए।
- एप्लिकेशन बनाते समय उसमें से डेमो कोड हटा दें (AccountController हटा दें)
- अपने दृश्य से HTML मार्कअप बनाने के लिए केवल विशिष्ट दृश्य इंजन का उपयोग करें क्योंकि यह HTML और प्रोग्रामिंग कोड का संयोजन है।


