मैंने अब तक जो पढ़ा है उससे (यह answer< /a> ठीक है), यह एमवीवीएम पैटर्न की ओर अधिक झुकता है। सेवाओं के डेटा को मॉडल के रूप में, कोणीय नियंत्रकों को VM के रूप में और HTML को कोणीय बाइंडिंग वाले व्यू के रूप में देखते हुए।

क्या हम कह सकते हैं कि एमवीसी क्लाइंट साइड के लिए सर्वर साइड और एमवीवीएम के लिए एक पैटर्न है?

क्या कोई उदाहरण के साथ समझा सकता है (कोणीय के संदर्भ में) हम एमवीसी और एमवीवीएम को कैसे कार्यान्वित कर सकते हैं।

मैंने var vm = this; का उपयोग करने की अवधारणा के बारे में पढ़ा है; कोणीय नियंत्रकों में। लेकिन क्या इसका मतलब यह है कि हमारे नियंत्रक के लिए सिर्फ एक उपनाम का उपयोग करके हम अपने कोणीय ऐप को एमवीसी से एमवीवीएम में बदल देते हैं।

8
Shreyas 16 सितंबर 2016, 07:24

1 उत्तर

आइए एमवीवीएम के इतिहास के बारे में थोड़ा सा देखें: एमवीवीएम को मूल रूप से माइक्रोसॉफ्ट द्वारा विंडोज प्रेजेंटेशन फाउंडेशन (डब्ल्यूपीएफ) और सिल्वरलाइट के साथ उपयोग के लिए परिभाषित किया गया था, जिसे आधिकारिक तौर पर 2005 में जॉन ग्रॉसमैन द्वारा एवलॉन के बारे में एक ब्लॉग पोस्ट में घोषित किया गया था। डब्ल्यूपीएफ)। इसे एमवीसी का उपयोग करने के विकल्प के रूप में एडोब फ्लेक्स समुदाय में कुछ लोकप्रियता भी मिली। हाल के वर्षों में, समुदाय से समग्र सकारात्मक प्रतिक्रिया के साथ, एमवीवीएम को नॉकआउटजेएस, केंडो एमवीवीएम और नॉकबैक.जेएस जैसे संरचनात्मक ढांचे के रूप में जावास्क्रिप्ट में लागू किया गया है।

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

एमवीसी, एमवीपी और एमवीवीएम के लिए सामान्य सॉफ्टवेयर व्यवहार हैं:

1)डेटा लेयर/बिजनेस लॉजिक (मॉडल): यह वह व्यवहार है जो एप्लिकेशन के डेटा पर बिजनेस लॉजिक को लागू करता है

2) प्रस्तुति परत / यूआई (देखें): दृश्य आवेदन की दृश्य प्रस्तुति के लिए जिम्मेदार है।

3) एप्लिकेशन लॉजिक (कंट्रोलर, प्रेजेंटेशन या व्यू मॉडल): इस व्यवहार में वह तर्क होता है जो मॉडल और दृश्य के बीच बातचीत को लागू करता है।

एमवीवीएम

एमवीवीएम यूआई और एप्लिकेशन लॉजिक के बीच स्पष्ट अलगाव प्रदान करता है।

क्लाइंट-साइड लाइब्रेरी: नॉकआउट.जेएस, केंडो (एमवीवीएम)

सर्वर-साइड लाइब्रेरी: सिल्वरलाइट, विंडोज फोन ऐप, एडोब फ्लेक्स या तनुकी जो एक एमवीवीएम-प्रेरित वेब फ्रेमवर्क है जो मुहावरेदार रूबी, डीआरवाई और इसके डिजाइन द्वारा विस्तारशीलता को पसंद करता है, या एक अन्य उदाहरण वेबकोर 3 PHP फ्रेमवर्क होगा जो एक प्लेटफॉर्म है- स्वतंत्र ढांचा जो एमवीवीएम पैटर्न का उपयोग करता है।

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

दस्तावेज़ीकरण: यहां

enter image description here

कृपया इस लेख को पढ़ें

AngularJs MV के लिए दिलचस्प लेख*

1
Majid 16 सितंबर 2016, 07:59