asp.net एएसपी.नेट एमवीसी बनाम वेब क्लाइंट सॉफ़्टवेयर फ़ैक्टरी(डब्ल्यूसीएसएफ)




asp.net-mvc wcsf (7)

ASP.NET MVC वेब नियंत्रण का उपयोग नहीं कर सकता जो कि पोस्टबैक पर भरोसा करते हैं, जबकि WCSF कर सकते हैं

आपको WCSF के बारे में मार्गदर्शन करना चाहिए कि मौजूदा वेबफॉम्स बुनियादी ढांचे का उपयोग कैसे करना है, विशेष रूप से मॉडल-व्यू-प्रेंटर पेश करने के लिए जो चिंताओं को अलग करना लागू करने में सहायता करता है। इसके परिणामस्वरूप कोड की testability भी बढ़ जाती है।

एक WCSF साइट के विरोध में आपके पास एएसपी.नेट एमवीसी साइट में यूआरएल पर अधिक नियंत्रण है।

यदि आप 3.5 एसपी 1 को लक्षित कर सकते हैं, तो आप एक पारंपरिक वेबफॉर्म साइट के साथ नई रूटिंग सिस्टम का उपयोग कर सकते हैं। रूटिंग MVC तक सीमित नहीं है उदाहरण के लिए, डायनेमिक डेटा पर एक नज़र डालें (जो 3.5 एसपी 1 में भी है)।

एक एएसपी.नेट एमवीसी साइट शायद एक समान WCSF संस्करण की तुलना में परीक्षण करना आसान होगा।

यह सच है क्योंकि यह एचटीटीपीटीन्टेक्स, एचटीटीपीएंड, एचटीटीपीपीएस, आदि के नए वर्गों का उपयोग करता है। एमवीपी पैटर्न की तुलना में एमवीसी पैटर्न के बारे में कुछ और अधिक प्रयोग करने योग्य नहीं है। वे "अलग प्रस्तुति" के दोनों उदाहरण हैं, और दोनों में testability वृद्धि हुई है।

ऐसा लगता है कि WCSF अभी भी कुछ परिस्थितियों में यूआई घटनाओं को नियंत्रित करने के पीछे कोड का उपयोग करता है, लेकिन ASP.NET इस की अनुमति नहीं देता है।

मॉडल-व्यू-प्रस्तोता में, क्योंकि बाहरी दुनिया विचारों (यानी, यूआरएल को देखने के लिए इंगित करता है) के साथ बातचीत करती है, विचार स्वाभाविक रूप से इन घटनाओं का जवाब देंगे। वे जितना संभव हो उतना सरल होना चाहिए, या तो प्रस्तोता को कॉल करके या घटनाओं की पेशकश करके जो प्रस्तुतकर्ता सदस्यता ले सकता है।

मॉडल-व्यू-नियंत्रक बाहरी सीमाओं से नियंत्रकों के साथ सहभागिता करके इस सीमा पर काबू पाता है। इसका अर्थ है कि आपके विचार गैर-प्रस्तुतीकरण चीजों के बारे में "डंबर" हो सकते हैं।

जिसके लिए आप का उपयोग करना चाहिए, मुझे लगता है कि इसका जवाब नीचे आता है, जो आपके प्रोजेक्ट लक्ष्यों के लिए सबसे अच्छा है। कभी-कभी वेबफॉर्म्स और समृद्ध तृतीय पक्ष नियंत्रण विक्रेता की उपलब्धता बेहतर होती है, और कुछ मामलों में, कच्ची सादगी और ठीक-ठाक एचटीएमएल नियंत्रण एमवीसी के पक्ष में होगा।

https://code.i-harness.com

मैं हाल ही में विभिन्न प्रकार के मॉडल व्यू आर्किटेक्चर में कुछ जांच कर रहा हूं, और यह निर्णय लेने की आवश्यकता है कि भविष्य में घर के विकास के लिए कौन सा आगे बढ़ेगा। जैसा कि मैं वर्तमान में एक माइक्रोसॉफ्ट की दुकान में काम कर रहा हूं जिस पर एएसपी.नेट कौशल है, ऐसा लगता है कि मेरे विकल्प एएसपी.नेट एमवीसी और डब्ल्यूसीएसएफ के बीच हैं (मोनोरेल संभवतः बाहर नहीं है क्योंकि यह माइक्रोसॉफ्ट द्वारा समर्थित नहीं होगा)।

एएसपी.नेट एमवीसी ढांचे को पढ़ने के बाद , WCSF को एक मापदंड के रूप में उपयोग करते हुए , मैंने निम्नलिखित बिंदु उठाए:

  • ASP.NET MVC वेब नियंत्रण का उपयोग नहीं कर सकता जो कि पोस्टबैक पर भरोसा करते हैं, जबकि WCSF कर सकते हैं
  • एक WCSF साइट के विरोध में आपके पास एएसपी.नेट एमवीसी साइट में यूआरएल पर अधिक नियंत्रण है।
  • एक एएसपी.नेट एमवीसी साइट शायद एक समान WCSF संस्करण की तुलना में परीक्षण करना आसान होगा।
  • ऐसा लगता है कि WCSF अभी भी कुछ परिस्थितियों में UI इवेंट को नियंत्रित करने के पीछे कोड का उपयोग करता है, लेकिन ASP.NET MVC इस की अनुमति नहीं देता है।

अन्य विचारों में से कुछ क्या हैं?
मुझे क्या गलतफहमी है?
क्या वहाँ कोई है जो दोनों चौखटे का इस्तेमाल किया है और सलाह किसी भी तरह से है?


एक एएसपी.नेट एमवीसी साइट शायद एक समान WCSF संस्करण की तुलना में परीक्षण करना आसान होगा।

यह सच है क्योंकि यह एचटीटीपीटीन्टेक्स, एचटीटीपीएंड, एचटीटीपीपीएस, आदि के नए वर्गों का उपयोग करता है। एमवीपी पैटर्न की तुलना में एमवीसी पैटर्न के बारे में कुछ और अधिक प्रयोग करने योग्य नहीं है। वे "अलग प्रस्तुति" के दोनों उदाहरण हैं, और दोनों में testability वृद्धि हुई है।

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

http://martinfowler.com/eaaDev/uiArchs.html

http://martinfowler.com/eaaDev/SupervisingPresenter.html

http://martinfowler.com/eaaDev/PassiveScreen.html


आप अपने डेवलपर्स की पृष्ठभूमि पर भी विचार कर सकते हैं (यदि कोई पहले से ही पहचानी जा चुकी है)।

यदि वे सख्त asp.net पृष्ठभूमि से आते हैं, तो वे WCSF के आसपास अधिक आरामदायक होंगे (हालांकि मेरे अनुभव में, यह अभी भी उन्हें कुछ हफ्तों तक ले जाया गया है ताकि वास्तव में एमवीपी के आसपास आराम किया जा सके)।

यदि वे जावा / रेल पृष्ठभूमि से आते हैं, या इससे पहले अन्य MVC आर्किटेक्चर का इस्तेमाल करते हैं, तो जाहिर है कि वे वहाँ खुश होंगे (और मेरे अनुभव में एमवीसी के अलावा अन्य चीज़ों के बारे में बहुत घबराहट होती है)।


एक लौ युद्ध शुरू करने के लिए नहीं, लेकिन मैं WCSF काफी जटिल हो पाया। एमवीसी की लालित्य और सादगी एमवीपी को मार देती है जो एक ऐसे पैटर्न की तरह महसूस करती है जो सिर्फ वेबफॉर्म पर बनाई गई होती है।


एमवीसी एक बहुत सरल प्रतिमान है और यह भी उतना ही समान है कि अन्य सभी ढांचा वेब विकास कैसे करता है। वेबफॉर्म सरलता की कोशिश करने और प्राप्त करने के लिए बसों के माध्यम से बहुत अधिक कूद रहा है और बहुत अलग परतें हैं। आईएमएचओ, एमवीसी कुछ वर्षों के भीतर डिफ़ॉल्ट एएसपी.नेट आर्किटेक्चर होगा, क्योंकि अधिक से अधिक लोग सादगी और आसानी से विकास और परीक्षण की आसानी महसूस करते हैं जो यह हमारे साथ लाती है। मैं एक साल के लिए एमवीसी विकास कर रहा हूं और एक नई परियोजना पर वेबफॉर्म पर वापस जाने के बारे में कभी नहीं सोचा होगा।


क्यों नॉर्थविंड को दोनों को संलग्न न करें और देखें कि आपके और आपकी स्थिति के लिए कौन सा सबसे अच्छा है?


हमने वही मूल्यांकन करने के बाद WCSF के लिए विकल्प चुना। हमने महसूस किया कि एमवीपी पैटर्न ने हमें और अधिक विकल्प दिए हैं अर्थात सर्वर नियंत्रण का उपयोग करने की क्षमता। हमारी विकास टीम ज्यादातर सीआईआर ++, बिजटॉक और वेब आदि के विषयों में से एक है, परन्तु सभी ने एमएस प्रकार के विकास पर ज्यादातर ध्यान केंद्रित किया है, इसलिए पैटर्न को अपनाने में सीखने की अवस्था हमारी टीम के लिए इतना ज्यादा नहीं थी।

हम हमारी पसंद से खुश हैं।





wcsf