ASP.NET MVC दुनिया में, ASP.NET में कई सुधारों को फ्रेमवर्क में ही शामिल किया गया है। इस डिज़ाइन पैटर्न का मुख्य उद्देश्य उपयोगकर्ता इंटरफ़ेस से व्यावसायिक तर्क को अलग करने के लिए बेहतर रखरखाव, बेहतर परीक्षण क्षमता और अनुप्रयोग के लिए एक क्लीनर संरचना पर ध्यान केंद्रित करना है।
ASP.NET MVC में कुछ क्षमताएं होती हैं जो इसे चुनने का सबसे अच्छा विकल्प बनाती हैं कि आपको निम्नलिखित में से एक या अधिक की आवश्यकता है:
• उत्पन्न HTML पर नियंत्रण का एक उच्च स्तर : वेब प्रपत्रों के विपरीत, ASP.NET MVC में दृश्य HTML को ठीक उसी तरह प्रस्तुत करते हैं जैसे आप उन्हें बताते हैं। हाल ही में, इस क्षेत्र में वेब फॉर्म में सुधार किया गया है लेकिन अभी भी एमवीसी के नियंत्रण का स्तर नहीं है।
• आसान इकाई परीक्षण : ASP.NET MVC के साथ, परीक्षण-संचालित विकास (TDD) जैसे परीक्षण पैटर्न का पालन करना बहुत आसान है। वेब फॉर्म में जटिल घटना जीवनचक्र के कारण, नियंत्रण-आधारित ढांचे के शीर्ष पर, TDD MVC के साथ बहुत आसान है।
• चिंताओं का पृथक्करण : यह प्रणाली के सभी पहलुओं को स्पष्ट रूप से एक दूसरे से अलग करने को संदर्भित करता है। पैटर्न के कारण यह लागू होता है, एक एमवीसी एप्लिकेशन को असतत और शिथिल बाध्य भागों (मॉडल, विचार और नियंत्रक) में विभाजित किया जाता है, जिससे इसे बनाए रखना आसान होता है।
कुछ अन्य लाभ हैं:
• एमवीसी पैटर्न ही आवेदन की कार्यक्षमता को तीन मुख्य भागों, मॉडल, दृश्य और नियंत्रक में स्पष्ट रूप से अलग करके जटिलता का प्रबंधन करना आसान बनाता है।
• ASP.NET MVC वेब अनुप्रयोग दृश्य स्थिति या सर्वर-आधारित रूपों का उपयोग नहीं करते हैं। यह उन डेवलपर्स के लिए MVC फ्रेमवर्क को आदर्श बनाता है जो किसी एप्लिकेशन के व्यवहार पर पूर्ण नियंत्रण चाहते हैं। दृश्य स्थिति बहुत बड़ी हो सकती है, जो धीमे नेटवर्क पर चलने वाले स्मार्टफ़ोन जैसे उपकरणों के लिए एक समस्या है (सभी जानकारी प्रसारित करना बहुत धीमी हो सकती है)। एक वेब फ़ॉर्म पृष्ठ में, आप प्रति पृष्ठ केवल एक ही कर सकते हैं। यह काफी बड़ा प्रतिबंध है। MVC में, ऐसा कोई प्रतिबंध नहीं है - अर्थात, आपके पास जितने चाहें उतने तत्व हो सकते हैं।
• ASP.NET MVC परीक्षण-संचालित विकास (TDD) के लिए बेहतर सहायता प्रदान करता है।
• ASP.NET MVC वेब अनुप्रयोगों के लिए अच्छी तरह से काम करता है जो डेवलपर्स की बड़ी टीमों द्वारा समर्थित होते हैं और वेब डिज़ाइनर के लिए जिन्हें HTML पर उच्च स्तर के नियंत्रण की आवश्यकता होती है। ASP.NET MVC अनुरोध प्रसंस्करण