एमवीवीएम के लिए मुझे किस रूपरेखा का उपयोग करना चाहिए? [बन्द है]


233

मैं MVVM मॉडल के साथ एक एप्लिकेशन विकसित कर रहा हूं, लेकिन मैं एक ऐसे बिंदु पर पहुंच गया हूं, जहां मुझे यह चुनने की जरूरत है कि किस फ्रेमवर्क का उपयोग करना है।

संभावित विकल्पों में से हैं:

  • MVVM टूलकिट
  • MVVM फाउंडेशन
  • WPF एप्लीकेशन फ्रेमवर्क (WAF)
  • लाइट MVVM
  • Caliburn
  • चिंच
  • प्रिज्म
  • ReactiveUI

आपके अनुभव में, कौन सा बेहतर है?


14
+1 - अच्छा सवाल है, लेकिन कृपया 'बेहतर' स्पष्ट करें। विभिन्न ढांचे अलग-अलग फायदे प्रदान करते हैं, सबसे अच्छा आपकी आवश्यकताओं पर निर्भर करता है। जवाब के लिए आगे देखिए :)
रसेल

वैसे यह बहुत अच्छा होगा कि आप WPF और सिल्वरलाइट के साथ और न्यूनतम सीखने की अवस्था के साथ उपयोग कर सकते हैं।
रंगेल

2
आप कैलिबर्न की भी जाँच कर सकते हैं। codeplex.com/caliburn
केंट बूगार्ट

क्षमा करें केंट। मैं कैलिबर्न को कैसे भूल सकता था?
पीट ओहानलॉन

2
बंद और पुराना लेकिन ... मैंने अपना पहला प्रोजेक्ट प्रिज़्म (नीचे उत्तर) का उपयोग करते हुए किया क्योंकि मुझे घटक समर्थन की आवश्यकता है। मेरी आखिरी परियोजना मैंने कच्ची की - कोई रूपरेखा नहीं। आपको बस एक कमांड क्लास की जरूरत है और आप एमवीवीएम को एक फ्रेमवर्क के बिना कर सकते हैं - यह एक हल्के वजन के बारे में है जैसा कि आप प्राप्त कर सकते हैं।
डेव

जवाबों:


194

यह वास्तव में इस बात पर निर्भर करता है कि आप क्या हासिल करने की कोशिश कर रहे हैं, और आप पहले से ही कितना बुनियादी ढांचा चाहते हैं, साथ ही आसानी से आप ऐसे नमूने पा सकते हैं जो आपकी मदद करें। मैं यहां एक ब्याज की घोषणा करने जा रहा हूं, क्योंकि मैं कम से कम एक एमवीवीएम ढांचे में सक्रिय रूप से शामिल रहा हूं, और मुझे WPF शिष्य समूह के माध्यम से दूसरों में इनपुट मिला है, इसलिए मैं थोड़ा सा पक्षपाती हूं। यह कहते हुए कि, यहाँ जाता है:

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

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

WAF - इसका कोई अनुभव नहीं है, इसलिए मैं इस पर टिप्पणी नहीं कर सकता कि मुझे डर है।

एमवीवीएम लाइट - लॉरेंट बुगनियन का इस पर ले जाना, और बस संस्करण 2 में अपडेट किया गया। यह एक बहुत अच्छा ढांचा है, लेकिन फिर से एमवीवीएम अनुप्रयोगों के हर एक पहलू को कवर करने का इरादा नहीं है। लॉरेंट की पृष्ठभूमि को देखते हुए, इसमें बहुत मजबूत सिल्वरलाइट और ब्लेंडेबिलिटी समर्थन है।

अपडेट लॉरेंट ने अभी मुझे सूचित किया है कि .NET 3.5 और .NET 4.0 संस्करण संगत हैं। वाऊ टू लौरेंट।

सेंच - सच्चा बार्बर का उत्कृष्ट डब्ल्यूपीएफ केवल एमवीवीएम फ्रेमवर्क है। यह उन फ्रेमवर्क की तुलना में अधिक जमीन को कवर करता है जिनके बारे में मैंने ऊपर बात की है। यह एक उत्कृष्ट ढांचा है, और बिल केम्फ के उत्कृष्ट गोमेद परियोजना में शामिल अवधारणाओं का लाभ उठाता है । गोमेद MVVM चौखटे के पूरक का इरादा है, और कार्यक्षमता में जोड़ता है जो आम तौर पर MVVM / WPF में लोगों के लिए कठिन होता है। फिर से, मूल रूप से केवल WPF होने का इरादा था, गोमेद ने SL संगतता को शामिल करने के लिए प्रगति की है - काम मैं विशेष रूप से इसमें शामिल होने पर गर्व करता हूं।

प्रिज्म - फिर से, मैंने इसका उपयोग कभी नहीं किया है, लेकिन मैंने इसके बारे में बहुत सारी अच्छी बातें सुनी हैं।

महासागर - कार्ल टीम पर कार्यक्रम प्रबंधक कार्ल शिफलेट, ने हाल ही में पूरी तरह से प्रदर्शित WPF MVVM ढांचे को जारी किया। फिर, यह एक उत्कृष्ट ढांचा है और इसकी सिफारिश करने के लिए बहुत कुछ है।

लब्बोलुआब यह है कि, विभिन्न रूपरेखाओं को डाउनलोड करें, उन पर एक नज़र डालें और काम करें जो आपके विचार और आपकी आवश्यकताओं के साथ सबसे सहज रूप से फिट बैठता है। यदि आपको लगता है कि आप उसी कोडबेस से सिल्वरलाइट का समर्थन करना चाहते हैं तो WPF को केवल फ्रेमवर्क में छूट दी जानी चाहिए।


4
मैं एक का उपयोग करता हूं जो हमने लिखा था, क्योंकि हमारे पास MVVM के लिए बहुत विशेषज्ञ आवश्यकताएं हैं। यह उस काम से बहुत प्रभावित है जो जोश ने किया था, और मैं इसे निकट भविष्य में ओपन सोर्स के रूप में जारी करूंगा (मैं मालिकाना बिट्स को रिप करने में व्यस्त हूं)। इसे गोल्डलाइट कहा जाता है।
पीट ओहनलान

इसके साथ ही, आपका डेटा एक्सेस लेयर फ्रेमवर्क क्या है? लोग .. LINQ, LLBLGen, EF, nHibernate?
जिरापॉन्ग

यह परियोजना और आवश्यकताओं पर निर्भर करता है। कभी-कभी हम LINQ, कभी-कभी NHibernate, कभी Castle ActiveRecord, और कभी कभी EXpress Persistent ऑब्जेक्ट्स का उपयोग करते हैं।
पीट ओहनलान

3
हाय पीट, बस टिप्पणी करना चाहते हैं कि MVVM लाइट टूलकिट WPF 3.5 और WPF 4 के लिए सिल्वरलाइट 3 और सिल्वरलाइट 4 के लिए समान काम करता है। मैं सुविधाओं को सिंक में रखने के लिए उतना ही सावधान हूं जितना मैं कर सकता हूं। आप इस मिश्रण के बारे में सही हैं, हालांकि यह मेरे लिए एक बड़ी चिंता का विषय है :) चीयर्स, लॉरेंट
LBugnion

1
मुझे निराशा हुई है कि MVVM टूलकिट को Visual Studio 2010 के साथ काम करने के लिए अद्यतन नहीं किया गया है। निर्णय प्रक्रिया में इसे जोड़ना चाह सकते हैं। ज्यादातर लोग जानते हैं कि 2010 के भीतर एमवीवीएम टेम्प्लेट का उपयोग करने वाले एमवीवीएम लाइट का उपयोग कर रहे हैं और कुछ इस कारण अकेले चले गए हैं।
स्कॉटचेयर

54

मुझे यह लेख बहुत उपयोगी लगा । http://www.japf.fr/2009/10/a-quick-tour-of-existing-mvvm-frameworks/ ताकि मैं इसे आगामी उपयोगकर्ताओं के लिए यहां लाऊं

मैं सेंच सेक्शन को अपडेट करता हूं और इसकी विशेषताओं में सिल्वरलाइट सपोर्ट जोड़ता हूं

मुझे लंबी कहानी के लिए खेद है

आम सुविधाएं:

• ViewModelBase वर्ग (INotifyPropertyChanged इंटरफ़ेस के कार्यान्वयन के लिए)

• RelayCommand UI कमांड को ViewModel के हैंडलर्स से जोड़ने के लिए क्लास की तरह

• यूनिट परीक्षण ढांचे के साथ आता है

चिंच

• लेखक: सच्चा नाई

• सिल्वरलाइट समर्थन: नहीं (चिंच संस्करण 2 सिल्वरलाइट का समर्थन करता है)

• प्रलेखन: उत्कृष्ट, 6 लेख CodeProject पर प्रकाशित

• होस्टिंग: कोडप्लेक्स

• लाइसेंस: कोड प्रोजेक्ट ओपन लाइसेंस

• विशेषताएं:

  1. संलग्न व्यवहार

  2. IDataErrorInfo का उपयोग करके सत्यापन

  3. IEditableObject के लिए समर्थन

  4. कमजोर घटनाओं का निर्माण और सदस्यता

  5. कमजोर घटनाओं का उपयोग कर मध्यस्थ संदेश

  6. IOC / DI समर्थन (एकता का उपयोग करके)

  7. सेवाएं: ईवेंट लॉगर, मैसेज बॉक्स, ओपन सेव डायलॉग, पॉपअप

  8. थ्रेडिंग हेल्पर्स

  9. मेनू आइटम के लिए समर्थन

  10. बंद करने योग्य दृश्यदर्शी

  11. MVVM कोड जनरेटर

MVVM लाइट टूलकिट

• लेखक: लॉरेंट बगनियन

• चांदी का समर्थन: हाँ

• प्रलेखन: लॉरेंट के ब्लॉग + अन्य डेवलपर्स पर भी कई लेख उपलब्ध हैं

• होस्टिंग: कोडप्लेक्स

• लाइसेंस: एमआईटी लाइसेंस

• विशेषताएं:

  1. MSI इंस्टॉलर

  2. वीएस प्रोजेक्ट और आइटम टेम्पलेट

  3. वीएस कोड स्निपेट

  4. अंतर-दृश्य संचार के लिए मैसेंजर प्रणाली

  5. कमांड के रूप में घटनाओं को संभालना

MVVM हेल्पर्स

• लेखक: मार्क स्मिथ

• चांदी का समर्थन: नहीं

• प्रलेखन: मार्क के ब्लॉग पर कुछ लेख

• होस्टिंग: व्यक्तिगत वेबसाइट

• लाइसेंस: परिभाषित नहीं

• विशेषताएं:

  1. संलग्न व्यवहार

  2. मार्कअप एक्सटेंशन का उपयोग करके व्यूमोडल निर्माण

  3. गुण आधारित मान्यता

  4. ServiceProvider दृष्टिकोण का उपयोग कर IOC / DI

  5. बंद करने योग्य दृश्य

  6. प्रतीक्षा कर्सर (नए WaitCursor का उपयोग करके) (// आपका कोड यहाँ})

MVVM फाउंडेशन

• लेखक: जोश स्मिथ

• चांदी का समर्थन: नहीं

• प्रलेखन: जोश या मार्लोन ग्रीच के ब्लॉग पर मैसेंजर कार्यान्वयन के बारे में लेख

• होस्टिंग: कोडप्लेक्स

• लाइसेंस: एमएस-पीएल

• विशेषताएं:

  1. अंतर-दृश्य संचार के लिए मैसेंजर प्रणाली

  2. प्रॉपर्टीचेंज इवेंट मॉनिटर

Caliburn

• लेखक: रॉब ईसेनबर्ग

• चांदी का समर्थन: हाँ

• प्रलेखन: उपलब्ध ऑनलाइन प्रलेखन पूरा करें

• होस्टिंग: कोडप्लेक्स http://www.codeplex.com/caliburn

• लाइसेंस: एमआईटी लाइसेंस

• विशेषताएं:

  1. कमांड एक्शन के शीर्ष पर बनाए गए हैं और इस प्रकार कई इनपुट मापदंडों, फिल्टर और स्वचालित अतुल्यकालिक कार्यान्वयन सहित कई समान सुविधाओं को साझा करते हैं

  2. प्रस्तुतकर्ता जो यूआई जीवन चक्र के मुद्दे को संभालते हैं जैसे कि विभिन्न यूआई घटकों के लिए सक्रियण, निष्क्रियता और शटडाउन शब्दार्थ को संभालना

  3. कैलिबर्न एप्लिकेशन पूरी तरह से परीक्षण योग्य हैं

  4. विभिन्न उपयोगिताओं जैसे कि पृष्ठभूमि कार्य प्रबंधक

  5. विभिन्न UI पैटर्न का समर्थन करता है (केवल MVVM नहीं)

  6. निर्भरता इंजेक्शन कंटेनर

गोमेद

• लेखक: विलियम ई केम्पफ

• चांदी का समर्थन: नहीं

• प्रलेखन: बुनियादी परिचय कोडप्लेक्स पर उपलब्ध है

• होस्टिंग: कोडप्लेक्स

• लाइसेंस: निर्दिष्ट नहीं है

• विशेषताएं:

  1. ServiceLocator पैटर्न

  2. कस्टम मार्कअप एक्सटेंशन का उपयोग करके ViewModel निर्माण

  3. UI संबंधित सेवाएं जैसे IDisplayMessage

कैल्शियम

• लेखक: डैनियल वॉन

• चांदी का समर्थन: नहीं

• प्रलेखन: कोडप्रोजेक्ट पर 2 बहुत विस्तृत लेख (भाग 1 और भाग 2)

• होस्टिंग: कोडप्लेक्स

• लाइसेंस: उपयोग, कॉपी, संशोधित, और / या वितरित और कॉपीराइट रखने के लिए!

• विशेषताएं:

  1. रनटाइम पर मॉड्यूल को सक्षम या अक्षम करने के लिए मॉड्यूल प्रबंधक

  2. एक ही एपीआई का उपयोग करके क्लाइंट या सर्वर से उपयोगकर्ता के साथ बातचीत करने के लिए संदेश सेवा

  3. WPF ICommands को कंटेंट इंटरफेस के साथ जोड़ने के लिए कमांड सेवा जो केवल तब सक्रिय हो जाती है जब एक सक्रिय दृश्य या इंटरफ़ेस में दृश्यदर्शी लागू होता है

  4. टूलबार और मेनू के लिए क्षेत्र एडेप्टर

  5. क्लाइंट-सर्वर लॉग-आउट करने के लिए तैयार है

  6. एक वेब ब्राउज़र, पाठ संपादक, आउटपुट विंडो, और कई और अधिक जैसे मॉड्यूल शामिल हैं

  7. गंदे फ़ाइल संकेत के साथ टैब्ड इंटरफ़ेस (मॉड्यूल में पुन: प्रयोज्य)

nRoute

• लेखक: ऋषि

• चांदी का समर्थन: हाँ

• प्रलेखन: लेखक के ब्लॉग पर उपलब्ध कई लेख (लिंक के लिए कोडप्लेक्स प्रोजेक्ट होम पेज देखें)

• होस्टिंग: कोडप्लेक्स

• लाइसेंस: एमएस-पीएल

• विशेषताएं:

  1. Blend3 व्यवहार और ट्रिगर मॉडल का समर्थन करते हैं

  2. संसाधन लोकेटर ढांचा

  3. दृश्य सेवाएं: OpenFileDialog, ShowMessage…

  4. दृश्य और ViewModel को एक साथ मैप करने के लिए विशेषताओं का उपयोग करता है

नितो MVVM

• लेखक: शम्मा

• चांदी का समर्थन: नहीं

• प्रलेखन: नहीं

• होस्टिंग: कोडप्लेक्स

• लाइसेंस: निर्दिष्ट नहीं है

• विशेषताएं:

  1. ICVAND इंटरफ़ेस के विभिन्न MVVM अनुकूल कार्यान्वयन

सागर

• लेखक: कार्ल शिफलेट

• चांदी का समर्थन: नहीं

• प्रलेखन: कार्ल के ब्लॉग पर उपलब्ध लेख

• होस्टिंग: व्यक्तिगत वेबसाइट

• लाइसेंस: निर्दिष्ट नहीं है

• विशेषताएं:

  1. VB.Net में लिखा है

  2. विशेषता आधारित सत्यापन

  3. व्यूमोडेल बेस क्लासेस

  4. SQL सर्वर डेटा एक्सेस लेयर

बेसिक MVVM फ्रेमवर्क

• लेखक: लेस्टर लोबो

• चांदी का समर्थन: नहीं

• प्रलेखन: पुस्तकालय के साथ उपलब्ध नमूना आवेदन

• होस्टिंग: कोडप्लेक्स

• लाइसेंस: एमएस-पीएल

• विशेषताएं:

  1. कमांडिंग \ कीबाइंडिंग

  2. वीएम के बीच संदेश

  3. संलग्न व्यवहार के साथ कमांड के रूप में घटनाओं को संभालना

  4. सेवाओं के रूप में संवाद संभालना (और अधिक)

  5. वीएस कोड स्निपेट

अच्छी रौशनी

• लेखक: पीटर ओ'हलान • सिल्वरलाइट समर्थन: हाँ

• प्रलेखन: पुस्तकालय के साथ उपलब्ध नमूना आवेदन

• होस्टिंग: कोडप्लेक्स

• लाइसेंस: एमएस-पीएल

• विशेषताएं:

  1. "कार्यक्षेत्र" प्रबंधन (दस्तावेज़ का सेट जो बंद किया जा सकता है)

  2. त्वचा का समर्थन

  3. वीएम के बीच संदेश


महान पद। बस मैंने सोचा था कि सिंच संस्करण 2 सिल्वरलाइट को सुपरपोर्ट करता है।
किल्डारेफ्लारे जुले

44

मैं पीट के महान जवाब में लापता फ्रेमवर्क का वर्णन करने की कोशिश करता हूं:

MVVM टूलकिट (Microsoft) विज़ुअल स्टूडियो प्रोजेक्ट टेम्प्लेट के साथ एक बहुत ही हल्का लाइब्रेरी है जो इस पैटर्न के साथ शुरुआती का समर्थन करना चाहिए। यदि Microsoft को अपने टूलकिट के लिए अच्छी प्रतिक्रिया मिलती है तो वे इसे नए विज़ुअल स्टूडियो (शायद 2010) प्रोजेक्ट टेम्पलेट के रूप में लागू कर सकते हैं।

प्रिज्म (Microsoft p & p) एक ढांचा है जो MVVM पैटर्न के लिए समर्थन से अधिक प्रदान करता है। इस परियोजना का मुख्य लक्ष्य मॉड्यूलर WPF और / या सिल्वरलाइट अनुप्रयोगों केनिर्माण में आपकी सहायताकरना है। जब आपको सिर्फ MVVM पैटर्न लागू करने की आवश्यकता होती है या आप .NET / WPF में एक शुरुआत करते हैं तो मैं इस परियोजना की सिफारिश नहीं करूंगा। यह भी देखें: लिंक

WPF एप्लीकेशन फ्रेमवर्क (WAF) एक हल्का ढांचा है जो आपको MVVM के साथ WPF ऐप बनाने में मदद करता है। यह सिर्फ WPF के लिए है और इसलिए यह Silverlight का समर्थन नहीं करता है। यह नियंत्रकों की शुरूआत के साथ अधिकांश अन्य MVVM रूपरेखाओं की तुलना में थोड़ा और रास्ता तय करता है। वे अनुप्रयोग वर्कफ़्लो के लिए ज़िम्मेदार हैं और वे विभिन्न ViewModels के बीच मध्यस्थता करते हैं।


19

भावहीन। Mvvm को वास्तव में IMO का समर्थन करने के लिए संपूर्ण ढांचे की आवश्यकता नहीं होती है। यदि आप अवधारणा को समझते हैं, तो यह एक साफ VM बेसकल्स के साथ शुरू करने के लिए बहुत सरल है, जो कि INotify को लागू करता है, और बस वहां से जाता है।


4
एक कारण है कि बहुत सारे डेवलपर mvvm लाइब्रेरी विकसित करते हैं। यदि आप जो कहते हैं वह सच है, तो ये डेवलपर्स अपना समय क्यों बर्बाद करेंगे? ये फ्रेमवर्क उपयोगकर्ता अपने पसंदीदा mvvm ढांचे का उपयोग क्यों करते रहेंगे? सच है, "Mvvm को वास्तव में IMO का समर्थन करने के लिए संपूर्ण ढांचे की आवश्यकता नहीं है"। लेकिन यह MVVM ढांचे के बिना करने के लिए व्यावहारिक नहीं है।
सियाफुल निज़ाम याह्या

3
-1 IMO ICommands के लिए अपना खुद का RelayCommand क्लास, इंटर-वीएम कम्युनिकेशन के लिए मैसेंजर क्लास और अपने खुद के IoC कंटेनर में अच्छी तरह से काम करने वाले WPF एप्लिकेशन के लिए जरूरी सबसे बेसिक टूल्स का उल्लेख करने के लिए, एक प्रमुख PITA है। आपका जवाब केवल सबसे सरल कार्यक्रमों के लिए मान्य है।
हेलिक


10

अपना खुद का मिश्रण!

मैंने PRISM से EventAggregator का उपयोग किया, MVVM नींव से ViewModelBase के साथ और इसी तरह। मैंने अन्य डेटा को भी स्वीकार करने के लिए RelayCommand (कुछ स्थानों में DelegateCommand कहा जाता है) को ट्विक किया, और इसी तरह।

मैं प्रति से सिर्फ एक फ्रेमवर्क की सिफारिश नहीं करूंगा।


19
मैं सम्मानपूर्वक असहमत हूं, इस दृष्टिकोण के साथ समस्या खुद प्रकट होगी जब आपको नए जॉइनर्स मिलेंगे - प्रोजेक्ट पर प्रवेश की लागत बहुत अधिक होगी क्योंकि घर में डॉक्स आमतौर पर प्राथमिकता नहीं हैं।
फ्लोरियन डॉयोन

1
मैं प्रलेखन के बारे में बात देख सकता हूं। लेकिन घर में डॉक्स को विकसित करने की आवश्यकता नहीं हो सकती है। प्रलेखन के साथ बाहरी साइटों के लिए लिंक कोड में ही एम्बेड किए जा सकते हैं
वासुदेवन कन्नन

8

मेरी शर्त कैलीबर्न और MVVMlight पर होगी, ऐसा लगता है कि इनमें से कई mvvm फ्रेमवर्क सिल्वरलाइट का समर्थन नहीं करते हैं। मैं यह उम्मीद कर सकता हूं कि आईओसी फ्रेमवर्क की तुलना में चुनने के लिए अधिक एमवीवीएम फ्रेमवर्क होंगे, क्योंकि एमवीएम फ्रेमवर्क की सुविधा सीमा को स्थापित करना कठिन है। मुझे लगता है कि यह पता लगाने का सबसे अच्छा तरीका है कि आपकी परियोजना में कौन से बेहतर सूट हैं, जो उनकी विशेषताओं को सूचीबद्ध / तुलना करके होगा।

मिक्स 10 भी देखें। मैं बात से बहुत कुछ सीखता हूं: अपने mvvm ढांचे का निर्माण।


4
मैंने पाया कि बात काफी उपयोगी है। यहाँ एक सीधा लिंक है: live.visitmix.com/MIX10/Session/EX15
अंशुल


4

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


2

सब के सब, मैं अपने आवेदन के माध्यम से 90% हूं और सभी मैंने एमवीवीएम टूलकिट का उपयोग किया है, यह कारखाना फ़ंक्शन है जो मुझे एक्सक्यूट में लॉन्च करने के लिए एक प्रतिनिधि समारोह दिया गया है। मुझे लगता है कि मैं कुछ घंटों में किसी भी अन्य ढांचे या किसी भी ढांचे में बदल सकता हूं।


2

एक अन्य विचार करने के लिए MEFedMVVM है । मैंने इसे कुछ परियोजनाओं पर इस्तेमाल किया है और यह हल्का, गैर-दखल देने वाला है और सिल्वरलाइट और डब्ल्यूपीएफ का समर्थन करता है। यह उन उत्पादों के लिए ब्लेंड में डिज़ाइन-टाइम डेटा का समर्थन करने में भी सक्षम है।


1

यदि आप WPF / MVVM एप्लिकेशन फ्रेमवर्क के शीर्ष पर एक्स्टेंसिबिलिटी (ऐड-इन्स लिखने की क्षमता) की तलाश में हैं, तो आप SoapBox Core अस्वीकरण में रुचि रख सकते हैं : मैंने इसे लिखा था । यह खुला हुआ है, इसलिए यदि आप इसका उपयोग नहीं करते हैं, तो भी आपके लिए कुछ अच्छे विचार हो सकते हैं। यह एक्स्टेंसिबिलिटी और IoC दोनों के लिए MEF का उपयोग करता है।


1

वहाँ भी nRoute है

WPF / सिल्वरलाइट के लिए एक बहुत अच्छा अनुप्रयोग ढांचा जो MVVM का समर्थन करता है

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