2011-03-21 13 views
8

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

संपादित करें: उदाहरण के लिए, angular एक एमवीसी फ्रेमवर्क होने का दावा करता है, फिर भी इसकी मुख्य विशेषताएं डेटा बाइंडिंग है।

+0

+1 अच्छा सवाल! – Nilesh

उत्तर

5

मेरी राय में डेटा बाध्यकारी एमवीसी पैटर्न का वैध कार्यान्वयन हो सकता है क्योंकि डेटा बाध्यकारी तंत्र स्वयं उस मामले में नियंत्रक के रूप में कार्य करता है।

उदाहरण के लिए उल्लिखित कोणीय में ऐसा लगता है कि $ घड़ी समारोह उन सुविधाओं को लागू करने के लिए एक शॉर्टकट है जो सामान्य नियंत्रक जिम्मेदारियां और एमवीसी-स्टाइल तरीके से विशेषताएं हैं।

तो मेरी राय में डेटा बाध्यकारी एक विकास कदम है जो क्लासिक एमवीसी नियंत्रकों को लागू करके सीखा सर्वोत्तम प्रथाओं को लागू करता है।

अद्यतन

लेकिन मूल पैटर्न अर्थ में मैं और अधिक एमवीपी या Passive View तरह बाध्यकारी डेटा की विशेषताएँ हैं।

लेकिन मतभेद मेरी राय में तेज नहीं हैं क्योंकि यह हमेशा आपकी यूआई तकनीक पर भी निर्भर करता है।

+0

+1 अच्छा जवाब! – Nilesh

5

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

+0

+1 अच्छी व्याख्या! – Nilesh

+0

डाटाबेसिंग एक अतिरिक्त सुविधा है जो मेरे दृष्टिकोण से (पूरी तरह से समझदार) एमवी पैटर्न का उपयोग करते समय अक्सर दोहराव वाले कार्यों से बॉयलर प्लेट कोड को हटा देती है। यहां एक नज़र डालें: [एमवीसी और डाटाबेसिंग, सबसे अच्छा तरीका क्या है?] (Https: //codingsoul.wordpress।com/2016/04/15/MVC-बाइंडिंग-क्या--best-दृष्टिकोण /) –

0

दरअसल, जब आपका डेटा सही तरीके से सारणीबद्ध होता है, तो आपके मॉडल की सामग्री को आपके यूआई में धक्का देने का कार्य एक दोहराव वाला कार्य होता है जो आमतौर पर किसी प्रकार के "सहायक" का कारण बनता है।

मान लें कि वस्तुओं की एक सूची को एक combobox पर धक्का देना है। यह नियंत्रक का जरूरी हिस्सा नहीं है क्योंकि आप ऐसी कार्यक्षमता साझा करना चाहते हैं। नियंत्रण के मूल्य को भी धक्का देना (इसे सरल रखना, चलो टेक्स्टबॉक्स का पाठ कहना) दोहराव और द्वि-दिशात्मक है।

यहां भी आप अपने स्वयं को दोहराएं (डीआरवाई के बारे में सोचें) और एक ही चीज़ को फिर से करें और फिर से करें।

यह वही बिंदु है जहां डाटाबेसिंग खेल में आती है। यह उन कार्यों को ले सकता है जो कि सरल नियंत्रण (चेकबॉक्स, टेक्स्टबॉक्स, कंबोबॉक्स) के समान हैं। ग्रिड नियंत्रण के लिए और जैसे यह विशिष्ट हो सकता है।

mvc & databinding: what's the best approach? पर एक नज़र डालें। यहां मैं चर्चा करता हूं कि एमवीसी के साथ संयोजन में डाटाबेसिंग का उपयोग करते समय इष्टतम क्या हो सकता है।

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