MVVM Full Form in Hindi



MVVM Full Form in Hindi, Full Form in Hindi MVVM, MVVM Meaning in Hindi, MVVM Full Form, MVVM Ka Full Form Kya Hai, MVVM का Full Form क्या है, MVVM Ka Poora Naam Kya Hai, MVVM Meaning in English, MVVM Full Form in Hindi, MVVM Kya Hota Hai, MVVM का Full Form क्या हैं, MVVM का फुल फॉर्म क्या है, Full Form of MVVM in Hindi, MVVM किसे कहते है, MVVM का फुल फॉर्म इन हिंदी, MVVM का पूरा नाम और हिंदी में क्या अर्थ होता है, MVVM का क्या Use है, दोस्तों क्या आपको पता है MVVM की Full Form क्या है, और MVVM होता क्या है, अगर आपका answer नहीं है, तो आपको उदास होने की कोई जरुरत नहीं है, क्योंकि आज हम इस पोस्ट में आपको MVVM की पूरी जानकारी हिंदी भाषा में देने जा रहे है, तो फ्रेंड्स MVVM Full Form in Hindi में और MVVM का पूरी इतिहास जानने के लिए इस पोस्ट को लास्ट तक पढ़े.

इस पोस्ट का उद्देश्य मॉडल-व्यू-व्यूमॉडल (एमवीवीएम) पैटर्न के लिए एक परिचय प्रदान करना है. जबकि मैंने MVVM के बारे में बहुत सारी चर्चाओं में भाग लिया था, मेरे साथ यह हुआ कि पैटर्न सीखने वाले शुरुआती लोगों को बहुत कम जाना पड़ता है और बहुत से परस्पर विरोधी संसाधनों को अपने कोड में लागू करने की कोशिश करने के लिए इससे गुजरना पड़ता है . मैं हठधर्मिता शुरू करने की कोशिश नहीं कर रहा हूं, लेकिन पैटर्न के मूल्य को समझना और इसे कैसे लागू किया जा सकता है, इसे समझने के लिए एक ही पोस्ट में प्रमुख अवधारणाओं को एक साथ खींचना चाहता था. MVVM वास्तव में लोगों की तुलना में कहीं अधिक सरल है.

MVVM Full Form in Hindi – एमवीवीएम क्या है ?

MVVM की फुल फॉर्म Model View ViewModel होती है. MVVM को हिंदी में मॉडल व्यू व्यूमॉडल कहते है. MVVM आर्किटेक्चर मार्क-अप भाषा या GUI कोड की मदद से ग्राफिकल यूजर इंटरफेस के विकास को अलग करने की सुविधा प्रदान करता है. MVVM का फुल फॉर्म Model-View-ViewModel है.

MVVM का दृश्य मॉडल एक मान कनवर्टर है जिसका अर्थ है कि यह मॉडल से डेटा ऑब्जेक्ट्स को इस तरह से उजागर करने के लिए मॉडल की जिम्मेदारी है कि Object आसानी से Managed और Present किए जाते हैं.

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

MVVM मार्टिन फाउलर की प्रस्तुति मॉडल डिज़ाइन पैटर्न का एक रूपांतर है. यह Microsoft Architect Ken Cooper और Ted Peters द्वारा विशेष रूप से उपयोगकर्ता Interface की घटना-संचालित प्रोग्रामिंग को सरल बनाने के लिए आविष्कार किया गया था. पैटर्न को विंडोज प्रेजेंटेशन फाउंडेशन Microsoft के .NET ग्राफिक्स सिस्टम और सिल्वरलाइट WPF के इंटरनेट एप्लिकेशन व्युत्पन्न में शामिल किया गया था.

माइक्रोसॉफ्ट के WPF और सिल्वरलाइट आर्किटेक्ट में से एक जॉन गोस्मान ने 2005 में अपने ब्लॉग पर MVVM की घोषणा की. Model-View-Viewmodel को Model-view-binder के रूप में भी जाना जाता है विशेष रूप से कार्यान्वयन में. .NET प्लेटफ़ॉर्म शामिल नहीं है. जावा में लिखित एक वेब एप्लीकेशन फ्रेमवर्क और नॉकआउट जेएस एक जावास्क्रिप्ट लाइब्रेरी मॉडल-व्यू-बाइंडर का उपयोग करते हैं.

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

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

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

आप कह सकते हैं कि यूआई आधारित डिज़ाइन हमें एप्लिकेशन उत्पादकता, स्थिरता, लचीलापन, परीक्षणशीलता और पुन: प्रयोज्य में सुधार करने में मदद करता है. यह एक डिजाइनर, डेवलपर और परीक्षक के रूप में हमारी मदद करता है. डेवलपर और डिजाइनर एक-दूसरे के साथ एक-दूसरे को बाधित किए बिना एक ही परियोजना पर काम कर सकते हैं और यूनिट परीक्षण के लिए अलग-अलग परीक्षक लोगों द्वारा नहीं, बल्कि प्रोग्रामर द्वारा खुशी से किया जा सकता है.

मॉडल व्यू व्यू-मॉडल (MVVM) मूल रूप से UI आधारित डिज़ाइन पैटर्न है. एमवीवीएम का मुख्य उद्देश्य एक समृद्ध यूआई, परीक्षण सुविधाएँ, कोड अधिक पुन: प्रयोज्य और जटिल डेटा बाइंडिंग प्रदान करना है. यह एक दूसरे के बीच किसी भी प्रत्यक्ष संचार के बिना व्यवसाय और प्रस्तुति परतों के अलगाव को बेहतर बनाने में मदद करता है. डिजाइनर और डेवलपर एक दूसरे को बाधित किए बिना एक साथ काम कर सकते हैं.

एमवीवीएम डिज़ाइन पैटर्न में आसान परीक्षण और रखरखाव भी लोकप्रिय है. यह WPF सिल्वरलाइट, विंडोज फोन और सरफेस अनुप्रयोगों के लिए पूर्ण डिज़ाइन पैटर्न की शक्ति है और अब लोगों के लिए HTML5 और वेब-आधारित तकनीक के साथ भी इसका उपयोग करने का समय है. यह MVC और MVP डिज़ाइन पैटर्न के समान है.

MVVM का इतिहास ?

MVVM को जॉन गॉसमैन ने 2005 में विशेष रूप से मार्टिन फाउलर के व्यापक प्रस्तुति मॉडल पैटर्न के एक ठोस अनुप्रयोग के रूप में WPF के साथ उपयोग के लिए पेश किया था. MVVM पैटर्न के आधार पर एक एप्लिकेशन का कार्यान्वयन विभिन्न प्लेटफ़ॉर्म क्षमताओं का उपयोग करता है जो कि WPF सिल्वरलाइट डेस्कटॉप वेब और विंडोज पर किसी न किसी रूप में उपलब्ध हैं. Microsoft व्यावसायिक उत्पादों सहित कई व्यावसायिक अनुप्रयोग MVVM के बाद बनाए गए थे.

MVVM की सुविधाओं की सूची

  • यह व्यवसाय और प्रस्तुति परतों को अलग करता है, जैसे कि एमवीपी और एमवीसी.

  • चिंताओं की संरचना अलगाव में सुधार देखें ViewModel और मॉडल.

  • बेहतर डिज़ाइन डेवलपर वर्कफ़्लो सक्षम करें.

  • सादगी और परीक्षण क्षमता बढ़ाएँ.

  • XAML की मजबूत डेटा बाइंडिंग क्षमता द्वारा सक्षम.

  • फ़ाइल के पीछे कोड का उपयोग करने की आवश्यकता नहीं है न्यूनतम कोड-फ़ाइल पीछे.

  • कई वातावरणों के लिए अनुप्रयोग विकास क्षमता प्रदान करता है.

  • शक्तिशाली डेटा बाइंडिंग, कमांड, सत्यापन और बहुत कुछ.

  • डिजाइनर और डेवलपर एक साथ काम कर सकते हैं.

MVVM का इस्तेमाल क्यों किया जाता है ?

  • View और ViewModel के बीच कोई सीधा संवाद नहीं है केवल ViewModel View की जरूरतों से अवगत है.

  • यह कोड को अधिक बनाए रखने योग्य बनाता है और इसे लंबे समय तक चलने में मदद करेगा.

  • पुन: प्रयोज्य यह मानते हुए कि हमारे पास कोड के साथ एक WPF अनुप्रयोग है और अब हम विंडोज फोन या सिल्वरलाइट में एक ही व्यावसायिक तर्क चाहते हैं तो यह काफी कठिन काम हो सकता है.

लेकिन अगर आपका एप्लिकेशन MVVM डिज़ाइन पैटर्न का उपयोग करता है तो यह काम आसान होगा.

  • विचारों को अद्यतन करने के लिए डुप्लिकेट कोड से बचा जाता है.

  • इकाई परीक्षण योग्य.

  • आप अपने मॉडल के कुछ हिस्सों को अलग करने के लिए ViewModel का उपयोग कर सकते हैं जो कि निपटने के लिए दृश्य के लिए अधिक धाराप्रवाह इंटरफ़ेस की सुविधा के लिए अलग-अलग कक्षाओं पुस्तकालयों में मौजूद हैं.

  • INOTifyPropertyChanged, ICommand और IvalueConverters के साथ शक्तिशाली डेटा-बाइंडिंग समर्थन.

  • आसान परावर्तन

  • MVVM WPF सिल्वरलाइट विंडोज फोन और सरफेस एप्लिकेशन के लिए सबसे अच्छा है.

MVVM Principles

सरलता सिद्धांत:-

प्रत्येक दृश्य में एक एकल ViewModel होना चाहिए और एक ViewModel में केवल एक ही दृश्य होना चाहिए.

द ब्लेंडिबिलिटी सिद्धांत:-

ViewModel को अभिव्यक्ति मिश्रण का समर्थन करना चाहिए.

डिजाइन सिद्धांत:

ViewModel को डिज़ाइन टाइम डेटा की आपूर्ति करनी चाहिए.

परीक्षण का सिद्धांत:

ViewModel और मॉडल परीक्षण योग्य होना चाहिए.

MVVM Architecture?

ऊपर मैं मॉडल-व्यू-व्यूमॉडल आर्किटेक्चर को दिखाने की कोशिश करता हूं एक दृश्यमॉडल में आईएनजी कमांड और डेटा को देखने के लिए व्यू भी डेटा को दो तरीकों से बांध सकता है और डेटा को व्यू से आधार बना सकता है व्यूमॉडल व्यू को एक अधिसूचना भेजता है. मैं इस श्रृंखला के अगले भाग में अधिसूचना और कमान का पता लगाऊंगा. यूनिट परीक्षण ViewModel से जुड़ा है. इस आरेख में देखें ViewModel Glue है जो दृश्य के साथ-साथ मॉडल और इकाई परीक्षण वर्ग से भी जुड़ा हुआ है. ViewModel मॉडल की विधि के सभी गुणों से अवगत है और यह व्यू की जरूरतों से भी अवगत है.

MVVM में देखें ?

व्यू क्लाइंट इंटरफेस इनपुट-आउटपुट इंटरफेस या यूजर इंटरफेस है. यह विंडो के सभी यूजर इंटरफेस एलिमेंट्स, नेविगेशन पेज, यूजर कंट्रोल, रिसोर्स फाइल, स्टाइल और थीम, कस्टम टूल्स और कंट्रोल को इकट्ठा करता है. दृश्य ViewModel और मॉडल से अनजान है, और इसके विपरीत ViewModel और मॉडल दृश्य से अनजान है और नियंत्रण बहुत खराब है. लेकिन दृश्य मॉडल दृश्य की जरूरतों से अवगत है. वे डेटा बाइंडिंग और एक निर्भरता संपत्ति या गुणों से संवाद करते हैं.

दृश्य और दृश्य मॉडल के बीच संचार DataContext संपत्ति द्वारा होता है. दृश्य के पीछे कोड में केवल एक कंस्ट्रक्टर होता है जो एक इनिशियलाइज़कम्पोनेंट विधि को कॉल करता है और कुछ मामलों में लोग यहां एक यूआई लॉजिक इवेंट का उपयोग करते हैं, दृश्य और तार्किक ट्री कोड कार्यान्वयन और कस्टम लॉजिक प्रॉपर्टी. लेकिन यह MVVM डिज़ाइन पैटर्न में अच्छा नहीं है क्योंकि हम व्यू मॉडल पर यूनिट परीक्षण और व्यू मॉडल के माध्यम से एक पैरामीटर बनाते हैं. इस स्थिति में तर्क और डेटा के पीछे के दृश्य कोड का परीक्षण नहीं किया जाएगा और आपको पृष्ठ के पीछे कोड का फिर से परीक्षण करने की आवश्यकता है. एक दृश्य केवल एक बार में एकल दृश्य-मॉडल के साथ संवाद कर सकता है.

दृश्य वह है जो हम में से अधिकांश से परिचित हैं और केवल एक चीज जो अंतिम उपयोगकर्ता वास्तव में बातचीत करता है. यह डेटा की प्रस्तुति है. इस डेटा को अधिक प्रस्तुत करने के लिए दृश्य कुछ स्वतंत्रता लेता है. उदाहरण के लिए, 1 जनवरी 1970 यूनिक्स समय की मध्यरात्रि के बाद से एक तारीख को मॉडल को सेकंड की संख्या में संग्रहीत किया जा सकता है. हालांकि अंतिम उपयोगकर्ता के लिए यह उनके स्थानीय समय क्षेत्र में महीने के नाम, तिथि और वर्ष के साथ प्रस्तुत किया जाता है. एक दृश्य में इसके साथ जुड़े व्यवहार भी हो सकते हैं, जैसे उपयोगकर्ता इनपुट को स्वीकार करना. दृश्य इनपुट मुख्य प्रेस, माउस आंदोलनों, स्पर्श इशारों आदि का प्रबंधन करता है जो अंततः मॉडल के गुणों में हेरफेर करता है.

MVVM में, दृश्य सक्रिय है. एक निष्क्रिय दृश्य के विपरीत, जिसे मॉडल का कोई ज्ञान नहीं है और एक नियंत्रक प्रस्तुतकर्ता द्वारा पूरी तरह से हेरफेर किया गया है, एमवीवीएम में दृश्य में व्यवहार, घटनाएं और डेटा-बाइंडिंग शामिल हैं जिन्हें अंततः अंतर्निहित मॉडल और व्यूमोडल के ज्ञान की आवश्यकता होती है. हालांकि इन घटनाओं और व्यवहारों को गुणों, विधि कॉलों और आदेशों के लिए मैप किया जा सकता है, फिर भी दृश्य अपने स्वयं के ईवेंट को संभालने के लिए ज़िम्मेदार है, और यह पूरी तरह से व्यूमॉडल को नहीं बदलता है.

MVVM में ViewModel?

ViewModel एक गैर-दृश्य वर्ग है. MVVM डिज़ाइन पैटर्न किसी भी WPF या सिल्वरलाइट आधारित वर्ग से प्राप्त नहीं होता है. ViewModel सीधे दृश्य से अनजान है. दृश्य और ViewModel के बीच संचार कुछ संपत्ति और बाध्यकारी के माध्यम से होता है. मॉडल सीधे ViewModel से जुड़े हुए हैं और मॉडल वर्ग द्वारा एक विधि लागू करते हैं, यह जानता है कि मॉडल में क्या गुण हैं जैसे गुण तरीके वगैरह और यह भी जानते हैं कि दृश्य को क्या चाहिए. एक दृश्य-मॉडल कई मॉडलों से जुड़ सकता है एक-से-कई संबंधों की तरह काम कर सकता है और दृश्य के लिए व्यावसायिक तर्क और डेटा को एन्क्रिप्ट कर सकता है. एक ViewModel में कुछ इंटरफ़ेस जैसे कि इनोटिफ़प्रोपरेटीचेंज्ड, इकोमैंड इनोटिफ़ाइक्लेकल्शनचेंज्ड वगैरह विरासत में मिला.

एमवीवीएम में मॉडल

मॉडल आपके डेटा का प्रतिनिधित्व करता है, जैसे कर्मचारी, उत्पाद या ग्राहक. आम तौर पर गुणों और विधियों का एक सेट परिभाषित करें. आप किसी मॉडल को खरोंच से बना सकते हैं या किसी ORM से जैसे Entity Framework या कुछ सर्वर प्रॉक्सी से प्राप्त कर सकते हैं. मॉडल एप्लिकेशन डेटा को प्रबंधित करने और आवश्यक व्यावसायिक तर्क और डेटा सत्यापन को संलग्न करके इसकी स्थिरता और वैधता सुनिश्चित करने के लिए जिम्मेदार है. डेटाबेस को क्वेरी करके मॉडल उदाहरण तक पहुँचना और लूप में या WCF, Asmx या REST का उपयोग करके एक उदाहरण बनाना.

अपनी व्यावसायिक आवश्यकताओं के आधार पर, एकल या इंस्टेंसेस के संग्रह को पुनः प्राप्त करने के लिए एक विधि को कॉल करें. मॉडल कक्षाएं आमतौर पर IDataErrorInfo या INotifyDataErrorInfo इंटरफेस के माध्यम से डेटा सत्यापन और त्रुटि रिपोर्टिंग प्रदान करती हैं.

मॉडल वह है जो मुझे डोमेन ऑब्जेक्ट के रूप में संदर्भित करना पसंद है. मॉडल वास्तविक डेटा और या हमारे साथ काम कर रहे जानकारी का प्रतिनिधित्व करता है. एक मॉडल का एक उदाहरण एक संपर्क नाम, फोन नंबर, पता, आदि या लाइव स्ट्रीमिंग प्रकाशन बिंदु की विशेषताएं हो सकती हैं.

मॉडल के साथ याद रखने की कुंजी यह है कि यह जानकारी रखता है, लेकिन व्यवहार या सेवाएं नहीं जो जानकारी में हेरफेर करता है. यह स्क्रीन पर सुंदर दिखने के लिए पाठ को प्रारूपित करने के लिए ज़िम्मेदार नहीं है, या किसी दूरस्थ सर्वर से आइटमों की एक सूची प्राप्त करना वास्तव में, उस सूची में, प्रत्येक आइटम सबसे अधिक स्वयं का एक मॉडल होगा. व्यावसायिक तर्क को आमतौर पर मॉडल से अलग रखा जाता है और अन्य वर्गों में समझाया जाता है जो मॉडल पर कार्य करते हैं. यह हमेशा सच नहीं होता है. उदाहरण के लिए, कुछ मॉडलों में सत्यापन हो सकता है.

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