2008-10-22 9 views
5

अपनी खोज में प्रश्न संख्या तीन ठीक से MVC को समझने के लिए इससे पहले कि मैं इसे लागू:एमवीसी का उपयोग करके, दृश्यों के बीच संचार को कैसे संभालना चाहिए? मॉडल के बीच?

मेरे मन में दो मामलों है:

  1. प्राथमिक आवेदन खिड़की वरीयताओं खिड़की शुरू करने की जरूरत है। (एक दृश्य एक और दृश्य का आह्वान।)
  2. किसी अनुप्रयोग के लिए प्राथमिक मॉडल प्राथमिकता मॉडल में संपत्ति का उपयोग करने की आवश्यकता है। (एक मॉडल एक और मॉडल तक पहुँचने।)

इन सवालों में से संबंधित हैं कि वे दोनों मॉडल-व्यू-नियंत्रक तीनो भर में संचार, एक विषय है कि मैं की काफी चर्चा मेरी Googling में नहीं मिला है शामिल है।

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

सुझाव? मुझे यह एक बहुत ही स्पष्ट सवाल है, लेकिन मैं एक अच्छी तरह से प्रलेखित समाधान खोजने में असमर्थ रहा हूं।

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

संपादित करें 1:

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

+0

हम मॉडल में कई कक्षाओं के बारे में बात कर रहे हैं। मॉडल उन सभी वर्गों (घटकों) को संदर्भित करता है जो डेटा पर डेटा और संचालन का प्रतिनिधित्व करते हैं। ये वर्ग एक-दूसरे के साथ सहयोग करते हैं। –

उत्तर

2

आप मोर्चा नियंत्रक डिजाइन पैटर्न को देख पर विचार कर सकते।

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

इस तरह से दृश्य से सभी अनुरोध फ्रंटकंट्रोलर पर जाते हैं जो तब तय करते हैं कि कौन सी विशिष्ट कार्रवाई (नियंत्रक) का आह्वान करना है। कभी-कभी, यह आपके पहले मामले में सीधे दूसरे दृश्य में आगे बढ़ सकता है।

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

This लेख सहायता कर सकता है। और this एक।

3

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

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

आप एक सिंहावलोकन के लिए विकिपीडिया पर MVC page पर एक नज़र डालना चाहते हैं।

0

मॉडल का मतलब एकल मॉडल ऑब्जेक्ट नहीं है। यह मॉडल आपके डोमेन मॉडल की संपूर्णता का सबसेट है जो सीधे नियंत्रक कार्यों और प्रश्नों के विचारों से संबंधित है।

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