ASP.Net Mform से ASP.Net वेबफ़ॉर्म पर वापस जाना। पैटर्न / आर्किटेक्चर की सलाह देते हैं


12

आप में से कई के लिए यह एक हास्यास्पद सवाल की तरह लग रहा होगा, लेकिन मैं इसलिए पूछ रहा हूं क्योंकि मुझे ASP.Net वेबफॉर्म के साथ कोई अनुभव नहीं है - मैं सीधे ASP.Net MVC में गया।

मैं अब एक ऐसी परियोजना पर काम कर रहा हूं, जहां हम .Net 2.0 और विजुअल स्टूडियो 2005 तक सीमित हैं।

एएसपी.नेट एमवीसी के साथ काम करते समय मुझे चिंताओं को अलग करना पसंद था, और मैं वेबफॉर्म को कम असहनीय बनाने के लिए कुछ ढूंढ रहा हूं। जो लोग asp.net MVC पसंद करते हैं, उनके लिए कोई अनुशंसित पैटर्न या अभ्यास हैं, लेकिन .net 2.0 और विजुअल स्टूडियो 2005 पर अटके हुए हैं?


सभी सुझावों के लिए धन्यवाद दोस्तों - काश मैं एक से अधिक उत्तर चुन पाता।
jlnorsworthy

1
मुझे उम्मीद है कि आपका नया असाइनमेंट केवल एक मौजूदा प्रोजेक्ट के लिए है, न कि स्क्रैच से शुरू होने वाली किसी चीज के लिए। कई बुनियादी चीजें हैं, जिन पर आप निर्भर हो गए होंगे, जैसे कि संग्रह पर सरल प्रश्नों के लिए लिनक का उपयोग करना गायब होगा। उत्पन्न HTML को देखने और यह देखने से एक बड़ी निराशा होगी कि यह वैसा कुछ नहीं है जैसी आपने अपेक्षा की थी। सौभाग्य, और मुझे आशा है कि आप सफल हैं।
क्रिस

जवाबों:


7

मैं मॉडल व्यू प्रस्तुतकर्ता (एमवीपी) की सिफारिश करूंगा। हमने इसका उपयोग हाल ही में किए गए WebForms ऐप पर किया और इसने हमारी परीक्षण क्षमता को बढ़ाया और हमें चिंताओं को अलग करने की अनुमति दी।

http://msdn.microsoft.com/en-us/magazine/cc188690.aspx जीन पॉल बूडू द्वारा इस पैटर्न पर एक महान लेख है; कोड डाउनलोड भी अच्छा है। यद्यपि आप पा सकते हैं कि आपको डीटीओ के लिए डीटीओ और इंटरफेस की आवश्यकता नहीं है।

एक और अच्छा लेख यह है codeproject.com पर एक: http://www.codeproject.com/KB/altecture/ModelViewPresenter.aspx

संपादित करें: WebForms MVP नामक एक रूपरेखा भी है, लेकिन मुझे इसके बारे में ज्यादा जानकारी नहीं है।


Webvorms MVP वास्तव में अच्छा लग रहा है, लेकिन परियोजना ठप हो गई है (पिछली बार ०s/१० में रिलीज़)। वहाँ बहुत सारे दस्तावेज या ट्यूटोरियल उपलब्ध नहीं हैं
jlnorsworthy

ऐसा लगता है कि .NET 3.5 SP1 की आवश्यकता है इसलिए यह आपके लिए बहुत उपयोगी नहीं हो सकता है। हालाँकि, नमूने और स्रोत एमवीपी पैटर्न का मूल्यांकन करने में आपकी मदद कर सकते हैं।
सियारन

अच्छी बात है, मैंने भी उस पर ध्यान नहीं दिया। मैं उस परियोजना पर अपनी नज़र
बनाये रखूँगा

4

मैं आपको .net 2.0 के पृष्ठ जीवन चक्र को समझने के लिए सुझाऊंगा

ये वीडियो देखने लायक हो सकता है, हालांकि सभी मुफ्त नहीं हैं लेकिन कम से कम यह आपके लिए एक अच्छी शुरुआत होगी .... बात यह है कि इससे आपको पता चल जाएगा कि आगे क्या शोध करना है।


3

जैसा कि अब तक आपको पता चल गया होगा कि आपको ASP.NET MVC के साथ सीखी गई कुछ चीजों को अनजान करना होगा (btw - ऐसा ही तब होता है जब ASP.NET व्यक्ति ASP.NET MVC को सीखने के लिए आगे बढ़ता है)। आप अभी भी ASP.NET में MVC पैटर्न को कार्यान्वित कर सकते हैं लेकिन व्यू / मॉडल का अलग होना ASP.NET में इवेंटिंग / पेज पोस्ट आर्किटेक्चर के कारण बहुत धुंधला है।

मेरी राय में, आपकी अधिकांश नई सीख पेज लाइफ साइकिल और इवेंटिंग एंड कंट्रोल से संबंधित होगी। सामान्य सामान सत्र, कैश, ViewState और DB इंटरैक्शन समान हैं।

HTH ...


2

चेकआउट फ्रंट कंट्रोलर पैटर्न और एस्प.नेट में फ्रंट कंट्रोलर को लागू करना । ये काम तभी करें जब आपका प्रोजेक्ट अच्छे आकार का हो। एक छोटे प्रोजेक्ट के लिए ऐसा करना ROI को सही नहीं ठहराएगा।

एक छोटी सी परियोजना में आप कुछ दिशानिर्देश निर्धारित करने का प्रयास कर सकते हैं। उदाहरण के लिए - कोड में कोई व्यावसायिक तर्क, कोई सत्र उपयोग आदि नहीं।

देखें कि आपके मामले में सबसे अच्छा क्या है। किसी भी मामले में इंजीनियरिंग करने के लिए प्रलोभन पकड़ो।


0

.NET 1.1 के काले दिनों में वापस मैंने एक आवेदन के लिए MVC सिस्टम का एक प्रकार बनाया है (मुझे लगता है कि सभी की तरह)।

एक पेज को 'नकली' मास्टर की तरह बनाया गया। इसमें मेनू, स्क्रिप्ट, स्टाइल आदि दिखाने के लिए कुछ प्लंबिंग थी।

'विचार' व्यक्तिगत उपयोगकर्ता नियंत्रण थे।

प्रत्येक दृश्य के बारे में जानकारी के साथ एक तालिका थी। उदाहरण के लिए, 'उत्पाद' ~/Controls/Product.ascxएक प्लेसहोल्डर में लोड होगा । तालिका में एक फ़ील्ड भी था जिसमें मॉडल वर्ग का नाम टाइप किया गया था (जैसे कि)। प्रत्येक मॉडल ने एक प्रसिद्ध इंटरफ़ेस लागू किया। इस वर्ग का उपयोग करते हुए तुरंत Activator.CreateInstance()शुरू किया गया था और इसे शुरू करने के लिए बुलाया गया था, और फिर इसे स्वयं नियंत्रण (नियंत्रण का उलटा?) पास किया गया था। इसके बाद नियंत्रण ने डेटासेट या व्हाट्सएप प्राप्त करने के लिए विभिन्न तरीकों को बुलाया। इंटरफ़ेस को सामान्य CRUD विधियों (पढ़ें / लिखें / सूची / हटाएं) के लिए सामान्यीकृत किया गया था। इसके नीचे DAL / ORM परत भी थी।

यह सुंदर नहीं था, लेकिन यह अच्छी तरह से काम किया। इसके खिलाफ परीक्षण करना और विकसित करना आसान था, और बोर्ड पर आने वाले अधिकांश डेवलपर्स बहुत जल्दी पकड़ लेंगे। सबसे बढ़कर, इसे बनाना अपेक्षाकृत सरल था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.