मैंने लगभग एक साल पहले एमवीसी में काम शुरू किया था, मैं प्रेरित हुआ लेकिन प्रभावित नहीं हुआ।
मैं दृश्य स्थिति को ढीला करता हूं और इसे ASP.NET के संदर्भ में सभी बुराई की जड़ के रूप में देखता हूं। यही कारण है कि मैं अभी इसका उपयोग नहीं करता हूं और आप पूरी तरह से ईमानदार क्यों होंगे?
मैंने मूल रूप से ASP.NET MVC फ्रेमवर्क अवधारणा को लिया और इसे अपने तरीके से बनाया। मैंने हालांकि कुछ चीजों को बदल दिया। मैंने अपने नियंत्रक रैपिंग कोड, या डायनामिक पुनर्संयोजन के आसपास URL रूटिंग कोड बनाया।
अब, मैं यह कहना चाहूंगा कि ASP.NET MVC एप्लिकेशन इस आधार पर तेज होंगे कि आप इसका उपयोग कैसे करते हैं। यदि आप पूरी तरह से WebForms को छोड़ देते हैं, तो आप ASP.NET जीवन-चक्र को तेजी से बढ़ा देंगे और ऑब्जेक्ट मॉडल विनम्र होता है।
जब आप लिख रहे हैं तो आप एक सेना को तत्काल भेज रहे हैं ... कोई प्रतीक्षा नहीं, वस्तुओं का एक समूह जो आपके विचार के प्रतिपादन में भाग लेंगे। यदि आप जहाँ ASPX पृष्ठ में ही व्यवहार की न्यूनतम मात्रा को व्यक्त करना चाहते हैं, तो यह धीमा होने वाला है। (मुझे दृश्य मतिहीनता की परवाह नहीं है क्योंकि Visual Studio में ASPX पृष्ठों का समर्थन सभ्य है, लेकिन मैंने पूरी तरह से WebForms को एक अवधारणा के रूप में गिरा दिया है और मूल रूप से कोड ब्लोट के कारण या इसे बदलने में सक्षम नहीं होने के कारण किसी भी ASP.NET फ्रेमवर्क। चीजें हैं जो मेरे आवेदन तार)।
मैंने जब भी जरूरत हो विशेष उद्देश्य वस्तुओं और कोड को छोड़ने के लिए गतिशील पुनर्संयोजन (System.Reflection.Emit) पर भरोसा करने के तरीके पाए हैं। इस कोड का क्रियान्वयन प्रतिबिंब की तुलना में तेज है, लेकिन शुरू में प्रतिबिंब सेवा के माध्यम से बनाया गया है। इसने मेरे एमवीसी फ्लेवर्ड फ्रेमवर्क को शानदार प्रदर्शन दिया है लेकिन बहुत ही स्टेटिक रूप से टाइप किया गया है। मैं तार और नाम / मूल्य जोड़ी संग्रह का उपयोग नहीं करता। इसके बजाय मेरी कस्टम कंपाइलर सेवाएँ एक रेफ़रेंटर में एक फार्म पोस्ट को एक रेफेरेंस एक्शन के रूप में एक संदर्भ प्रकार से गुजरती हैं। दृश्य के पीछे बहुत सारी चीजें चल रही हैं लेकिन यह कोड तेज है, वेबफार्म या एमवीसी फ्रेमवर्क की तुलना में बहुत तेज है।
इसके अलावा, मैं URL नहीं लिखता, मैं लैम्ब्डा एक्सप्रेशन लिखता हूं जो URLs में ट्रांसलेट किए जाते हैं जो बाद में बताते हैं कि कौन सी कंट्रोलर एक्शन लागू करनी है। यह विशेष रूप से तेज़ नहीं है, लेकिन इसमें टूटे हुए URL हैं। यह वैसा ही है जैसे कि आपके पास वैधानिक रूप से टाइप किए गए संसाधन और साथ ही स्टेटिक टाइप की गई वस्तुएं हों। एक वैधानिक रूप से टाइप किया गया वेब अनुप्रयोग? वह जो मैं चाहता हूँ!
मैं अधिक लोगों को इसे आज़माने के लिए प्रोत्साहित करूंगा।