WPF के लिए प्रिज्म क्या है?


137

मुझे कुछ ऐसा हुआ है जिसे प्रिज्म कहा जाता है । Microsoft, जो प्रोजेक्ट को चलाता है, उसका वर्णन करता है

WPF और सिल्वरलाइट में समग्र अनुप्रयोगों के लिए दिशानिर्देश।

यहां तक ​​कि अधिक विस्तृत विवरण पढ़ने के बाद भी, मेरे पास कोई सुराग नहीं है कि यह वास्तव में क्या है, मुझे डर है।

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

विशेष रूप से, मैं निम्नलिखित बिंदुओं के बारे में सोच रहा हूं:

  • क्या प्रिज़्म का शाब्दिक अर्थ सिर्फ (या मुख्य रूप से) एक पुस्तिका है, जैसा कि MSDN साइट पर दिया गया है ? क्या इसमें कोई लाइब्रेरी शामिल है, यदि ऐसा है तो वास्तव में क्या है?

  • प्रिज्म एक MVVM फ्रेमवर्क है? क्या मुझे इसे "आधिकारिक Microsoft MVVM फ्रेमवर्क" के रूप में उपयोग करना चाहिए, दूसरों पर या मेरे खुद के बाहर?

  • क्या यह निर्भरता इंजेक्शन प्रदान करता है? क्या यह इस तरह से MEF से संबंधित है?

  • WPF / सिल्वरलाइट डेवलपर के रूप में प्रिज्म क्या करता है, इसके बारे में मुझे कुछ और जानना चाहिए।


5
यह वास्तव में एक काफी जटिल बात है, भी - प्रिज्म बहुत सारी जरूरतों को भरने की कोशिश करता है, इसलिए यदि आप इसके उद्देश्य का पता लगाने की कोशिश कर रहे हैं, तो एक "सही" उत्तर प्राप्त करना कठिन है। यह वास्तव में कई काम करता है।
रीड कोपसे

1
इस तरह के मेरे द्वारा पूछे गए इस सवाल के भी कुछ अच्छे जवाब हैं - stackoverflow.com/questions/6251821/…
akjoshi

9
अभी तक पी एंड पी से एक और नकली दलदल। हर बार वे कुछ इस तरह से जारी करते हैं कि मैं खुद को एसओ या विकिपीडिया पर जाकर पता लगाता हूं कि वास्तव में क्या चीज है। यह हमेशा इतना गूढ़ क्यों होता है?
एडम राल्फ

1
यदि आप चाहें, तो यह एक प्रकार का प्रलेखन है जो आपको बताता है कि आपके WPF / सिल्वरलाइट अनुप्रयोगों में MVVM पैटर्न को कैसे लागू किया जाए। कोडप्लेक्स से एक पुस्तकालय भी है, जो मुझे यकीन नहीं है कि यह वास्तव में क्या है। PRISM के बारे में एक अच्छा दस्तावेज नीचे दिए गए लिंक में रहता है, यह इस पर एक नज़र रखने के लायक है: प्रिज्म 4.1 - Microsoft प्रिज़्म के लिए डेवलपर की मार्गदर्शिका - MSDN
user3353518

जवाबों:


92

प्रिज़्म Microsoft पैटर्न्स और प्रैक्टिस टीम WPF और सिल्वरलाइट में "समग्र अनुप्रयोग" के निर्माण के लिए आधिकारिक आधिकारिक मार्गदर्शन है।

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

इसमें निर्भरता इंजेक्शन (एकता या एमईएफ के माध्यम से), लेआउट (एमवीवीएम का उपयोग करके), समग्र घटना से निपटने, आदि पर मार्गदर्शन शामिल है।


क्या प्रिज़्म का शाब्दिक अर्थ केवल (या मुख्य रूप से) एक पुस्तिका है, जैसा कि MSDN साइट पर दिया गया है? क्या इसमें कोई लाइब्रेरी शामिल है, यदि ऐसा है तो वास्तव में क्या है?

यह एक किताब है, लेकिन समर्थन के लिए पुस्तकालयों ( गीथहब साइट पर) भी शामिल है ।

प्रिज्म एक MVVM फ्रेमवर्क है? क्या मुझे इसे "आधिकारिक Microsoft MVVM फ्रेमवर्क" के रूप में उपयोग करना चाहिए, दूसरों पर या मेरे खुद के बाहर?

हां और ना। इसमें MVVM का उपयोग करने के लिए मार्गदर्शन शामिल है, लेकिन MVVM ढांचे से कहीं अधिक है। यह वास्तव में नहीं है, और अपने आप में एक "एमवीवीएम फ्रेमवर्क" है - हालांकि इसमें एमवीवीएम मार्गदर्शन शामिल है।

क्या यह निर्भरता इंजेक्शन प्रदान करता है? क्या यह इस तरह से MEF से संबंधित है?

हाँ। इसमें मूल रूप से एकता शामिल थी, लेकिन नवीनतम रिलीज में DI के लिए MEF का उपयोग करना शामिल है।

WPF / सिल्वरलाइट डेवलपर के रूप में प्रिज्म क्या करता है, इसके बारे में मुझे कुछ और जानना चाहिए।

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


1
उत्तर के लिए धन्यवाद। इससे मुझे लगता है कि एक अच्छा अवलोकन है। बस स्पष्ट होना चाहिए: क्या वास्तव में कोई एमवीवीएम-संबंधित कोड या एक पुस्तकालय डीएलएल भी है?
नोल्डोरिन

4
@ नोल्डोरिन: मैं प्रिज्म के अंदर आपके बारे में पूछ रहा हूँ ... एमवीवीएम के लिए कुछ समर्थन है, लेकिन स्पष्ट रूप से, एमवीवीएम, एक पैटर्न के रूप में, लगभग कोई पुस्तकालय समर्थन की आवश्यकता नहीं है। प्रिज़्म में अच्छी अधिसूचना ऑब्जेक्ट और कमांडिंग समर्थन है, जो वास्तव में बीसीएल में गायब होने वाली एकमात्र चीज़ है जिसे आपको वास्तव में एमवीवीएम की आवश्यकता है। इसमें सेवा लोकेटर सपोर्ट भी है, जो वीएम <-> वीएम संचार के लिए डि / साझा सेवाओं का उपयोग करने में मदद करता है। इसमें कुछ MVVM "फ्रेमवर्क" द्वारा प्रदान किए गए "अतिरिक्त" सामान नहीं हैं, जैसे एक संदेश संरचना, आदि
रीड कोपसे

1
प्रिज्म मार्गदर्शन का पालन करने के लिए यह अनिवार्य है कि पुस्तकालयों को स्थापित किया गया है?
dios231

18

यह WPF और सिल्वरलाइट ऐप बनाने के लिए एक रूपरेखा है।

http://compositewpf.codeplex.com/

Microsoft "कंपोजिटडब्ल्यूपीएफ" का नाम बदलने से पहले इसे "प्रिज्म" कहा जाता था।

उत्तर:

1) प्रिज्म अपने अनुप्रयोगों के लिए एक नींव के रूप में उपयोग करने के लिए एक MVVM फ्रेमवर्क है

2) मैं सुझाव देता हूं कि आपकी विशिष्ट आवश्यकताओं के आधार पर। आपको विशिष्ट विवरण के साथ एक और प्रश्न पोस्ट करना चाहिए ताकि आप कुछ विशिष्ट उत्तर प्राप्त कर सकें।

3) प्रिज्म निर्भरता इंजेक्शन (एकता) का उपयोग करता है, लेकिन इसे "प्रदान" नहीं करता है

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


3
मैं आपके कथन # 1 से कुछ हद तक असहमत हूं - प्रिज्म में एमवीवीएम मार्गदर्शन शामिल है, लेकिन मार्गदर्शन का एक बहुत (अधिकांश नमूने) एमवीवीएम बिल्कुल भी नहीं हैं। यह एक विकल्प के रूप में अधिक प्रस्तुत किया जाता है जिसका उपयोग समग्र अनुप्रयोगों के निर्माण के दौरान किया जा सकता है।
रीड कोपसे

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