2011-04-15 3 views
5

अब मैं एक एमवीसी अनुप्रयोग बनाने में अपनी यात्रा के मजेदार हिस्से में हूं। मैंने पिछले 3 हफ्तों में आर्किटेक्चर शोध किया है, विशेष रूप से ओएनओएन, और आईओसी/डीआई और इस तरह के बारे में सीखना है।व्यूमोडेल क्या करें और क्या करें

तो मेरा प्रश्न यह है: ViewModels को लागू करने का सबसे अच्छा तरीका क्या है? मैंने अभी तक कुछ भयानक उदाहरण देखे हैं।

+0

भयानक उदाहरण? जैसे कि? क्या आप उन्हें पोस्ट कर सकते हैं? उनके लिए लिंक? – Oded

+0

हाहा। नहीं! मुझे यकीन है कि Google पर 5 मिनट हालांकि यह करने के लिए करेंगे। जिसने मुझे परेशान किया कि मैं दौड़ गया था, कोई भी ViewLoder को ViewModel भेज रहा था, ViewModel से डेटा पकड़ रहा था और फिर डेटाबेस को अद्यतन कर रहा था। तो अब सर्विसलेयर की उस विशिष्ट व्यूमोडेल पर निर्भरता है ... मेरे साथ अच्छी तरह से नहीं बैठे। –

+0

सेवा परत के संबंध में, इसका उपयोग उन मामलों में किया जा सकता है जहां वे विशेष रूप से प्रदर्शन के लिए मॉडल को कैश करते हैं, सीक्यूआरएस देखें (अपने सिर को एक-स्प्लोड से सावधान रहें) – TJB

उत्तर

2

मैं इस आलेख की समीक्षा करने की अनुशंसा करता हूं जो दृश्य मॉडल को संभालने के लिए अलग-अलग 'रणनीति' को रेखांकित करता है। उन्हें बेस

  • सीधे आपके विचार & क्या यूजर इंटरफेस की जरूरत है,
  • अलग पृष्ठों के लिए कस्टम दृश्य मॉडल बनाने को प्राथमिकता दें पर: http://blogs.msdn.com/b/simonince/archive/2010/01/26/view-models-in-asp-net-mvc.aspx

    कुछ सिफारिशों मैं दृश्य मॉडल के लिए आप दे सकते हैं उन्हें अलग-अलग विचारों में फिर से इस्तेमाल करने के लिए सामान्यीकृत करने के बजाय।

  • उन्हें सरल & फ्लैट रखें, विरासत आदि के साथ पानी में गिर मत जाओ
  • आप, डेटाबेस मॉडल से मानचित्रण रहे हैं, तो अपने मॉडल और देखने मॉडलों के बीच मानचित्रण जैसे AutoMapper
  • dynamic उपयोग करने पर विचार के लिए एक मौजूदा पद्धति को अपनाया कुछ मामलों में, यह अधिक लचीला है और कम घर्षण हो सकता है।
+0

बहुत बढ़िया और धन्यवाद। मैं अपना उत्तर "व्यू मॉडेल" की सूची में जोड़ूंगा और अपने ब्लॉग के लिए नहीं करूंगा। –

+0

@ कोड ओह मीठा, अगर आप इसे एक बार याद नहीं करते हैं तो लिंक पर टिप्पणी करें। जैसा कि मैंने कहा है कि आपने जवाब स्वीकार कर लिया है, मैं थोड़ी देर इंतजार करूँगा, शायद वहां कई अन्य प्रतिक्रियाएं हैं;) – TJB