2011-01-07 3 views
5

मेरे नए वेब ऐप के लिए, मैं कई विचारों या विचारों के भीतर सशर्त उपयोग करने पर बहस कर रहा हूं।एएसपी.नेट एमवीसी (3.0/रेजर) में, क्या आप विचारों के भीतर कई विचार या सशर्त पसंद करते हैं? क्यूं कर?

एक उदाहरण परिदृश्य उन उपयोगकर्ताओं को अलग-अलग जानकारी दिखाएगा जो प्रमाणित बनाम गैर-प्रमाणीकृत हैं। इसे दो तरीकों से संभाला जा सकता है।

  1. नियंत्रक में, IsAuthenticated की जाँच करें और है कि
  2. ध्यान में रखते हुए के आधार पर एक दृश्य के लौटने के लिए, जाँच पर कि ऐसे कई दृश्य की

पेशेवरों आधार पर जानकारी प्रदान की IsAuthenticated और शो ब्लॉक: छोटे , कम जटिल दृश्य - दृश्य में कोई तर्क के बगल में

एकल विचारों के पेशेवर:

को बनाए रखने के लिए कम दृश्य फ़ाइलें

स्पष्ट विपक्ष पेशेवरों के विरोध हैं: अधिक फ़ाइलों को बनाए रखने या अधिक जटिल दृश्य फ़ाइलों को बनाए रखने के लिए।

आप कौन सा पसंद करते हैं? क्यूं कर? क्या कोई पेशेवर/विपक्ष मैंने यहां उल्लिखित नहीं किया है?

अद्यतन: मान लें कि प्रत्येक दृश्य एक लेआउट पेज का उपयोग करता है और स्पष्ट रूप से दोहराए गए कोड को सारणी के आंशिक दृश्यों का उपयोग करता है।

उत्तर

10

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

देखें:

: http://ryanfarley.com/blog/archive/2004/04/30/570.aspx

मेरे अंगूठे के सामान्य नियम यह है

दो बार दोहराएं।
आप के बारे में अपने आप को तीसरी बार दोहराने के लिए होते हैं, तब एक अमूर्त

बनाने मैं में मेरी दृश्य और मेरे partials इस सिद्धांत का पालन करते हैं:

  1. मैं अपना पहला दृश्य बनाता हूं - नहीं आंशिक।
  2. मैं अपना दूसरा दृश्य - आंशिक बना देता हूं।
  3. मैं पुन: प्रयोज्य partials में पहले और दूसरे दृश्य से कोड की सार संक्षेप टुकड़े के आधार पर अपना तीसरा दृश्य पैदा करते हैं।
  4. मैं तब तक दोहराता हूं जब तक माउंटेन ड्यू सब खत्म नहीं हो जाता है।

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

मुझे संदेह है कि इससे मदद मिली। लेकिन अफसोस।

+1

मैं समयपूर्व सामान्यीकरण चीज़ पर आपसे अधिक सहमत नहीं हो सका। सिवाय मैं पहाड़ ओस नहीं पीता ... वह सामान बुरा है :) – Tundey

+0

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

+0

चाड - यह एक अच्छा सवाल है। और, विडंबना यह है कि, इसका मेरा जवाब बहुत कम है और अतिसंवेदनशील है। इसके अलावा, चिर्पी क्रेडिट के लिए वास्तव में एक बड़ा धन्यवाद - मुझे जाने देता है! –

1

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

+0

अच्छा बिंदु। यदि यह इतना छोटा अंतर है, तो शायद 2 अलग-अलग विचारों का उपयोग करना एक बुरा विचार होगा। – Chaddeus

1

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

मुझे संदेह है कि इस पर उत्तर मध्य में विभाजित होंगे क्योंकि प्रत्येक पक्ष की अपनी योग्यता होती है।

+0

सच है ... मैं पूछ रहा था क्योंकि शायद कुछ ऐसा है जो मैंने नहीं सोचा था (ठीक है, ठीक है ... ऐसा कुछ है जिस पर मैंने नहीं सोचा था)। ;) – Chaddeus

0

मैं कहूंगा कि एक ही दृश्य से शुरू होता है ... फिर प्रमाणीकृत और अनधिकृत विचारों के बीच अंतर को जटिल बनाने के आधार पर, आप कई विचार बना सकते हैं।

+0

अच्छा विचार। धन्यवाद! – Chaddeus

संबंधित मुद्दे

 संबंधित मुद्दे