MVW किस लिए खड़ा है?


351

यहाँ AngularJS पृष्ठ के लिए सामग्री विवरण दिया गया है:

AngularJS HTML क्या होता है, क्या इसे वेब-ऐप्स बनाने के लिए डिज़ाइन किया गया था। डेटा-बाइंडिंग, MVW, MVVM, MVC, निर्भरता इंजेक्शन और महान परीक्षणशीलता कहानी के साथ घोषणात्मक टेम्पलेट्स सभी शुद्ध क्लाइंट-साइड जावास्क्रिप्ट के साथ लागू किए गए हैं!

तो MVW किस लिए खड़ा है? (एमवीसी, एमवीवीडब्ल्यू, एमवीपी आदि स्क्वैबल को ध्यान में रखते हुए, मैं "जो कुछ भी", मॉडल-व्यू-जो भी / पी) अनुमान लगाता हूं)


मुझे लगता है कि आप मॉडल-व्यू-जो भी हो, सही हैं! code.google.com/p/dark-matter-data/wiki/MVWOverview
जॉन

जवाबों:


447

यह वास्तव में जो कुछ भी आपके लिए काम करता है , के लिए खड़ा है

एमवीसी बनाम एमवीवीएम बनाम एमवीपी। क्या एक विवादास्पद विषय है जिसके बारे में बहस करने और बहस करने के लिए कई डेवलपर्स घंटों और घंटे बिता सकते हैं।

कई वर्षों के लिए + AngularJS MVC (या इसके क्लाइंट-साइड वेरिएंट में से एक) के करीब था, लेकिन समय के साथ और कई रिफ्लेक्टरिंग और एपीआई सुधारों के लिए धन्यवाद, यह अब MVVM के करीब है - $ गुंजाइश ऑब्जेक्ट को ViewModel माना जा सकता है एक फ़ंक्शन द्वारा सजाया जा रहा है जिसे हम एक नियंत्रक कहते हैं।

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

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

कोणीय आपको व्यापार तर्क और प्रस्तुति राज्य से अच्छी तरह से अलग प्रस्तुति तर्क को बहुत लचीलापन देता है। कृपया इसका उपयोग अपनी उत्पादकता और एप्लिकेशन की स्थिरता को बढ़ाने के बजाय उन चीजों के बारे में गर्म चर्चा के साथ करें जो दिन के अंत में बहुत मायने नहीं रखती हैं।


8
@ फ्रांस्वा पहल: मैंने आपकी टिप्पणी पढ़ने से पांच सेकंड पहले खुद से यही बात कही थी। एमवी * शायद सॉफ्टवेयर डेवलपर्स के विशाल बहुमत के लिए तुरंत अधिक स्पष्ट होगा जो संभवतः पहले से ही सर्वव्यापी वाइल्डकार्ड '*' सम्मेलन से परिचित हैं।
डेविड फ्राइ

2
आप Google MV * नहीं कर सकते। इसके अलावा ... एमवीएक्स के शब्दार्थ पर चर्चा करते समय "जो कुछ भी होता है" कई लोग महसूस करते हैं
क्लिंटम

143

MVW मॉडल-व्यू-जो भी है के लिए खड़ा है ।

पूर्णता के लिए, यहाँ सभी उल्लिखित योग हैं:

एमवीसी - मॉडल-व्यू-कंट्रोलर

एमवीपी - मॉडल-व्यू-प्रस्तोता

MVVM - मॉडल-व्यू-व्यूमॉडल

एमवीडब्ल्यू / एमवी * / एमवीएक्स - मॉडल-व्यू-जो भी हो

और कुछ और:

HMVC - पदानुक्रमित मॉडल-दृश्य-नियंत्रक

MMV - मल्टीयूज़ मॉडल दृश्य

एमवीए - मॉडल-व्यू-एडेप्टर


22

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

क्रेडिट: एंगुलरजेएस पोस्ट - इगोर मीनार



1

मुझे लगता है कि MWV (मॉडल व्यू जो भी हो) या एमवी * मेरी राय में एंगुलरज की कुछ विशिष्टता का वर्णन करने के लिए अधिक लचीला शब्द है। इसने मुझे यह समझने में मदद की कि यह एक एमवीसी (मॉडल व्यू कंट्रोलर) जावास्क्रिप्ट फ्रेमवर्क से अधिक है, लेकिन यह अभी भी एमवीसी का उपयोग करता है क्योंकि इसमें एक मॉडल व्यू और कंट्रोलर है।

इसे एमवीपी (मॉडल व्यू प्रस्तोता) पैटर्न के रूप में भी माना जा सकता है। मैं प्रस्तुतकर्ता को व्यू के लिए Angularjs में उपयोगकर्ता-इंटरफ़ेस व्यावसायिक तर्क के रूप में मानता हूं। उदाहरण के लिए फ़िल्टर का उपयोग करके जो प्रदर्शन के लिए डेटा को प्रारूपित कर सकते हैं। यह व्यावसायिक तर्क नहीं है, लेकिन तर्क प्रदर्शित करता है और यह मुझे उस MVP पैटर्न की याद दिलाता है जिसका मैंने GWT में उपयोग किया था।

इसके अलावा, यह एक MVVM (मॉडल व्यू व्यू मॉडल) भी हो सकता है, मॉडल मॉडल दोनों के बीच दो-तरफ़ा बंधन है। सबसे आखिरी में यह MVW है क्योंकि इसमें अन्य पैटर्न हैं जिनका उपयोग आप @Steve चेम्बर्स द्वारा बताए गए अनुसार कर सकते हैं।

मैं उन अन्य उत्तरों से सहमत हूं जो इन शर्तों पर पांडित्य प्राप्त करना हानिकारक हो सकते हैं, क्योंकि बिंदु को अवधारणाओं से शर्तों को समझना है, लेकिन एक ही टोकन द्वारा, शर्तों को पूरी तरह से समझने में मदद मिलती है जब वे अपने आवेदन कोड को डिजाइन कर रहे हैं, तो जानते हैं कि क्या कहाँ और क्यों जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.