2012-05-11 15 views
5

मेरे पास बहुत सारे ग्राफ और अन्य टेक्स्ट फ़ील्ड्स के साथ रेज़र दृश्य है जो नियंत्रक से डेटा प्राप्त करता है। मैं नियंत्रक से ViewModel को देखने के बारे में सोच रहा हूं, जो प्रासंगिक सामग्री को पार्स करेगा और इसे प्रदर्शित करेगा।एएसपी.नेट एमवीसी 3 - व्यूमोडेल बेस्ट प्रैक्टिस

क्या कोई सुझाव दे सकता है कि एमवीसी में हल करने के लिए उपर्युक्त दृष्टिकोण सबसे अच्छा अभ्यास है?

ViewModel वर्ग नीचे की तरह लग रहे हो सकता है:

public class ViewModelDemo 
{ 
    public MyChart chart {get;set;} 
    public string LeftContent {get;set} 
    public string bottomContent {get;set;} 
    public ChartLeged legent {get;set} 
    ...... 
} 

public class MyChart 
{ 
    public List<int> xAxis {get;set} 
    public List<int> yAxis {get;set;} 
    ...... 
} 

कारण मैं ViewModel वापस जाने के लिए कोशिश कर रहा हूँ देखते हैं कि हो सकता है कि पृष्ठ के भाग जो विभिन्न डेटा है।

+0

तुम्हारा मतलब यह नेस्ट ViewModels के लिए अच्छा है? मैं भी दिलचस्प हूं, और वही करता हूं (मेरा मतलब घोंसला है)। मेरे पास कई लॉजिकल पार्ट्स वाले पेज हैं और नेस्टेड viedmodels में से केवल एक को पुनः प्राप्त किया जा सकता है (AJAX या पोस्टबैक अनुरोध के आधार पर)। इसलिए मुझे उम्मीद है कि आप सही हैं) –

+1

चूंकि हम अच्छे प्रथाओं के बारे में बात कर रहे हैं: इसे समान नामकरण सम्मेलन का ढांचा/भाषा के रूप में उपयोग करने के लिए अच्छा अभ्यास माना जाता है। इस मामले में, .NET/C# सार्वजनिक गुणों के लिए उचित आवरण का उपयोग करता है। इसलिए आपको अपनी संपत्ति के नाम 'चार्ट', 'नीचे सामग्री', 'लीजेंड' (सही वर्तनी), 'एक्सएक्सिस' और 'वाईएक्सिस' में बदलना चाहिए। – Omar

उत्तर

2

मुझे लगता है कि आप समाधान corret है।

एक और दृष्टिकोण छोटे रेज़र दृश्य को छोटे आंशिक विचारों में विभाजित करने के लिए किया जा सकता है, प्रत्येक एक सरल दृश्य मॉडल के साथ। यह पठनीयता, उत्तरदायित्व को अलग करने, ecc के लिए उपयोगी है।

3

बिल्कुल। एक ViewModel इस समस्या का एक पूरी तरह से स्वीकार्य समाधान है। (नि: शुल्क नमूने में सुविधाजनक स्थान पर) कार्रवाई पुस्तक में पलेर्मो उत्तम MVC की धारा 12.1.5 देखें

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

http://www.manning.com/palermo/Samplechapter12.pdf

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