2011-08-25 11 views
7

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

क्या यह बुरा अभ्यास है? क्या मुझे कहीं और तर्क करना चाहिए और व्यूमोडल्स पर कटौती करनी चाहिए?

फिलहाल मुझे अपने मुख्य विचारों में से लगभग हर किसी के लिए एक व्यूमोडल मिला है। लेकिन मैं निश्चित रूप से दृश्य को मॉडल तक पहुंचने के लिए नहीं चाहता हूं।

उत्तर

6

नहीं, आपके सभी विचारों को दृढ़ता से टाइप किया जाना चाहिए, इसलिए प्रत्येक दृश्य के लिए एक व्यूमोडेल सर्वोत्तम अभ्यास है। Here व्यूमोडेल के बारे में बहुत अच्छा लेख है।

+0

शानदार उत्तर। उस लेख ने इसे अच्छी तरह से समझाया। यह मूल रूप से मैं वर्तमान में क्या कर रहा हूं। धन्यवाद। – Deekane

2

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

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

0

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

मॉडल कणिका मैच नहीं देख सका, इसलिए आप इसके लिए व्यूमोडेल क्लास का उपयोग करते हैं।

0

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

आपके विचार गूंगा होने चाहिए और मेरे लिए व्यक्तिगत रूप से, जो मैं हासिल करने का प्रयास करता हूं वह है कि मेरे डोमेन मॉडल को व्यूमोडेल में मालिश करने के लिए मेरे विचार के लिए मालिश करना है।

-3

बहुत सारे व्यूमोडल्स का उपयोग करके आपके प्रोजेक्ट में गड़बड़ी पैदा होती है। नियंत्रक में केवल Tuple बनाने के लिए यह बेहतर है और फिर इसे पास करें।