한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
MVVM (Model-View-ViewModel) प्रतिरूपः एकः सॉफ्टवेयर डिजाइन प्रतिरूपः अस्ति यः विशेषतया उपयोक्तृ-अन्तरफलक (UI) अनुप्रयोगानाम् निर्माणार्थं उपयुक्तः अस्ति, विशेषतः WPF (Windows Presentation Foundation), Silverlight इत्यादीनां XAML प्रौद्योगिकीनां उपयोगेन अनुप्रयोगानाम् अस्य प्रतिरूपस्य मूलविचारः अस्ति यत् अनुप्रयोगं मुख्यतया त्रयः भागाः विभज्य UI तर्कस्य व्यावसायिकतर्कस्य च पृथक्करणं प्राप्तुं Model, View तथा ViewModel, येन कोडस्य परिपालनक्षमता पुनः उपयोगिता च सुधरति
एमवीवीएम-प्रतिमानस्य मुख्यघटकाः
- प्रतिकृति:
- मॉडल् अनुप्रयोगस्य आँकडानां व्यावसायिकतर्कस्य च प्रतिनिधित्वं कुर्वन्ति ।
- अस्मिन् अनुप्रयोगस्य दत्तांशसंरचना, प्रमाणीकरणनियमाः, दत्तांशप्रवेशतर्कः इत्यादयः सन्ति ।
- मॉडलस्य UI इत्यनेन सह किमपि सम्बन्धः नास्ति तथा च सर्वरतः आँकडानां प्राप्तिः, आँकडानां संग्रहणं इत्यादीनां सहितं दत्तांशपठनलेखनक्रियाणां संसाधनस्य उत्तरदायित्वं भवति
- दृश्यं:
- दृश्यं उपयोक्तृ-अन्तरफलकस्य प्रतिपादनस्य उत्तरदायी भवति, यत्र HTML, CSS, JavaScript इत्यादीनि (जालविकासे), अथवा XAML, WPF इत्यादीनि (डेस्कटॉप् अनुप्रयोगेषु) सन्ति
- दृश्येषु व्यावसायिकतर्कः नास्ति तथा च केवलं दत्तांशप्रदर्शनस्य उपयोक्तृनिवेशस्य च उत्तरदायी भवति ।
- ViewModel इति:
- दृश्यप्रतिरूपं दृश्यं प्रतिरूपं च संयोजयति सेतुः अस्ति ।
- मॉडलतः दत्तांशं प्राप्य तस्य प्रारूपे परिवर्तनस्य उत्तरदायित्वं भवति यत् दृश्यं उपयोक्तुं शक्नोति ।
- दृश्यप्रतिरूपं दृश्ये उपयोक्तृपरस्परक्रियाघटनानां परिवर्तनं कर्तुं अपि उत्तरदायी भवति यत् प्रतिरूपं अवगन्तुं शक्नोति, तथा च व्यावसायिकतर्कं कार्यान्वितुं, यथा दत्तांशसत्यापनं प्रारूपणं च
- दृश्यप्रतिरूपे दृश्यसम्बद्धः कोऽपि कोडः नास्ति, अतः वियुग्मनं प्राप्नोति ।
एमवीवीएम पैटर्नस्य लाभाः
- न्यूनयुग्मनम्:
- दृश्यस्य प्रतिरूपस्य च प्रत्यक्षः सम्बन्धः नास्ति ।
- पुनः उपयोगिता:
- दृश्यतर्कं दृश्यप्रतिरूपे समाहितं भवति तथा च बहुदृश्यैः साझां कर्तुं शक्यते, येन कोडपुनर्प्रयोगक्षमतायां सुधारः भवति ।
- स्वतन्त्र विकास:
- विकासकाः दृश्यप्रतिरूपस्य विकासे ध्यानं दातुं शक्नुवन्ति, यदा तु डिजाइनरः दृश्यस्य कार्यान्वयनस्य विषये ध्यानं दत्तुं शक्नुवन्ति ।
- परीक्षणीयता:
- दृश्यप्रतिरूपस्य दृश्यस्य च पृथक्करणेन दृश्यस्य स्वतन्त्रतया एककपरीक्षणं भवति, येन कोडस्य परीक्षणक्षमतायां विश्वसनीयतायां च सुधारः भवति ।
- परिपालनं सुलभम्:
- यतो हि प्रत्येकस्य भागस्य स्पष्टदायित्वं भवति तथा च परस्परं स्वतन्त्रं भवति, यदा अनुप्रयोगस्य परिवर्तनस्य विस्तारस्य वा आवश्यकता भवति तदा अन्येषां भागानां कोडं न प्रभावितं कृत्वा परिवर्तनार्थं तत्सम्बद्धस्य भागस्य स्थानं ज्ञातुं सुकरं भवितुम् अर्हति
एमवीवीएम पैटर्नस्य प्रयोज्यपरिदृश्याः
- जटिल अन्तरक्रियाशील अन्तरफलक:
- यदा कस्यचित् अनुप्रयोगस्य उपयोक्तृ-अन्तरफलकं जटिलं भवति तथा च अन्तरफलकस्य लचीलं अन्तरक्रियाशीलं च संसाधनं आवश्यकं भवति तदा MVVM उत्तमं संगठनं प्रबन्धनपद्धतिं च प्रदातुं शक्नोति
- view logic इत्यस्य पुनः उपयोगः आवश्यकः:
- MVVM प्रतिमानं दृश्यतर्कं व्यावसायिकतर्कात् पृथक् करोति, येन दृश्यानां पुनः उपयोगः आँकडानां व्यावसायिकतर्कस्य च स्वतन्त्रतया कर्तुं शक्यते ।
- बहुमञ्चविकासः:
- MVVM मॉडल बहु-मञ्चविकासाय उपयुक्तं भवति, यथा Web, mobile applications, desktop applications इत्यादयः MVVM मार्गेण व्यावसायिकतर्कस्य पुनः उपयोगः कर्तुं शक्यते, केवलं दृश्यभागस्य समायोजनस्य आवश्यकता वर्तते
- अग्रपृष्ठयोः अन्तयोः पृथक्करणम्:
- MVVM मॉडल् अग्रभागस्य पृष्ठभागस्य च पृथक्करणाय अनुकूलं भवति अग्रभागः मुख्यतया दृश्यप्रदर्शनस्य अन्तरक्रियायाः च उत्तरदायी भवति, पृष्ठभागः च आँकडासंसाधनस्य व्यावसायिकतर्कस्य च उत्तरदायी भवति विकासस्य त्वरिततायै समानान्तरेण।
MVVM प्रतिमानं कथं कार्यं करोति
MVVM pattern इत्यस्य कार्यसिद्धान्तः data binding तथा command pattern इत्येतयोः आधारेण भवति । दृश्यस्य दृश्यप्रतिरूपस्य च मध्ये अन्तरक्रिया दत्तांशबन्धनस्य माध्यमेन प्राप्ता भवति यदा दृश्यप्रतिरूपे दत्तांशः परिवर्तते तदा दृश्यं स्वयमेव तत्सम्बद्धं सामग्रीं अद्यतनं करिष्यति, तस्मात् दृश्यस्य दृश्यप्रतिरूपस्य च मध्ये दत्तांशसमन्वयनं प्राप्स्यति तस्मिन् एव काले दृश्ये उपयोक्तृ-अन्तर्क्रिया-घटनानि आदेशेषु परिणताः भविष्यन्ति ततः प्रसंस्करणार्थं दृश्य-प्रतिरूपे प्रसारिताः भविष्यन्ति, उपयोक्तृ-अन्तर्क्रियायाः वियुग्मनं, उत्तरदायित्व-पृथक्करणं च साक्षात्करोति
सारांशतः, MVVM-प्रतिरूपः एकः कुशलः, लचीला, तथा च परिपालनीयः सॉफ्टवेयर-निर्माण-प्रतिमानः अस्ति, यः विशेषतया जटिल-अत्यन्त-अन्तरक्रियाशील-उपयोक्तृ-अन्तरफलक-अनुप्रयोगानाम् निर्माणाय उपयुक्तः अस्ति