2010-03-31 26 views
73

का उपयोग करें मैं आरएक्स की मूल बातें समझता हूं। जहां मैं संघर्ष कर रहा हूं यह है कि आप वास्तव में अकादमिक उदाहरणों से परे इसका उपयोग कैसे करेंगे? कुछ सामान्य, सरल वास्तविक-दुनिया परिदृश्य क्या हैं जहां आरएक्स आज हमारे पास .NET में क्या है उससे बेहतर समाधान है?प्रतिक्रियाशील एक्सटेंशन का अच्छा उदाहरण

+2

मैंने आरएक्स के साथ डब्ल्यूपीएफ में बिंग सर्च का एक डेमो लिखा: http: //blog.andrei.rinea।ro/2013/06/01/bing-it-on-reactive-extension-story-code-and-slide/ –

+1

मैं अपने ब्लॉग पर पोस्ट की एक श्रृंखला में बिल्कुल इस प्रश्न का उत्तर देता हूं: http://rehansaeed.co.uk/प्रतिक्रियाशील-एक्सटेंशन-part1-replacing-events/ –

+0

कृपया https://github.com/AdaptiveConsulting/ReactiveTraderCloud पर एक नज़र डालें। मुझे लगता है कि यह एक अच्छा उदाहरण है क्योंकि उन्होंने अपने नमूने के लिए बहुत सारे प्रतिक्रियाशील एक्सटेंशन का उपयोग किया था। चीयर्स! – thangchung

उत्तर

36

अच्छे उदाहरण के एक समूह के लिए, देखें the 101 Rx Samples wiki

+11

लिंक के लिए धन्यवाद। वहाँ कुछ सुंदर अच्छे नमूने हैं। अभी भी सिर स्लैपर नहीं देख रहे हैं - "ओह यह कैनोलिक समस्या है जो हल करता है" नमूना। फिर फिर, मैं सिर्फ आगे बढ़ने पर धीमा हो सकता था। –

+7

हेम ... अपने उच्च स्कोर के बावजूद, यह उत्तर "लिंक-केवल" बना हुआ है। क्या आप शायद इसे थोड़ा सा कर सकते हैं? – Jubobs

4
  • डिवाइस measurments
  • डाटा अब

दोनों ही मामलों में संदेश बस ओवर में आ रहा, डेटा प्राप्त करने के मानक तरीका है घटनाओं के माध्यम से, लेकिन अगर मैं क्वेरी सिंटैक्स, या रचना चाहता हूं, तो आरएक्स मुझे यह बताता है कि घटनाएं नहीं होती हैं।

+0

अच्छे उदाहरण। धन्यवाद। –

25

सबसे पहले, IObservable एक ईवेंट है। तो कहीं भी आप आंतरिक रूप से घटनाओं का उपयोग करते हैं, आप IObservable का उपयोग कर सकते हैं - और यदि आपको बाद में इस घटना में LINQ लागू करने की आवश्यकता है, तो आप इसे बिना किसी रेफैक्टरिंग के कर सकते हैं।

दूसरा, आरएक्स किसी भी स्थिति के लिए उपयुक्त है जब आपको अपना कोड असीमित रूप से चलाने की आवश्यकता है। उदाहरण के लिए, एक वेब सेवा कॉल करना, या एक बड़ी छवि लोड करना।

लेकिन जब यह वास्तव में चमक के लिए शुरू होता है - अगर आपके प्रोग्राम IObservable उपयोग के कुछ "अहम" तक पहुँच जाता है और आप अलग observables के संयोजन आप हैरान हो सकता है कि कैसे आसान कुछ कार्य बन शुरू करते हैं।

2

आरएक्स बहुत सामान्य है इसलिए इसमें असीमित उपयोगिता है, जैसे आईन्यूमेरेबल/आईन्यूमेरेटर की असीमित उपयोगिता है। आईई मूल्य खींचता है, आईओ मूल्यों को धक्का देता है।

Foreach एक ठोस उदाहरण है जहां IENumerables काम में आते हैं, लेकिन यह IEnumerable, या उपज या कुछ भी समझा नहीं है। आरएक्स के साथ ही चला जाता है।

किसी पुल पॉइंट व्यू या दृश्य के धक्का बिंदु से कुछ देखने में सक्षम होने के नाते, और दिशा या साधनों को नियंत्रित करने में सक्षम होने के नाते, बहुत शक्तिशाली है, क्योंकि अब आप इच्छानुसार कंप्यूटेशंस को धक्का और खींच सकते हैं , आईओओ के खिलाफ "मुक्त" के लिए LINQ क्वेरी ऑपरेटरों का उपयोग करके, क्योंकि यह आईई का गणितीय दोहरी है।

0

मैंने अभी आरएक्स पर अपना पहला रूप देखा है, लेकिन एक मजेदार प्रोजेक्ट जिसका मैं इसका उपयोग करूंगा, वह सिल्वरलाइट विजेट बना रहा है जो हमारे एएसपी.नेट एमवीसी वेब ऐप में गतिविधि प्रदर्शित करता है (जिसके द्वारा एक्शन विधियों को बुलाया गया था, जिसके द्वारा उपयोगकर्ता, आदि)। ऐसा लगता है कि आरएक्स इस परियोजना में कई चीजों के साथ मदद कर सकता है, जैसे कि कंसुरेंसी प्रबंधन और थ्रॉटलिंग।

26

आरएक्स आपको कोड लिखने की अनुमति देता है जो एक साथ समवर्ती घटनाओं को व्यवस्थित करता है। यदि आपने कभी भी टीपीएल (यानी कार्य) का उपयोग किया है, तो सही चीजों पर जारी रखने या प्रतीक्षा करने की कोशिश करने के लिए घुलनशील बैकफ्लिप्स करना था, आरएक्स आपके लिए है।

उदाहरण के लिए, "इस सरणी में प्रत्येक आइटम के लिए, वेब सेवा पर कॉल करें, और जब वे सभी अनुरोध वापस आते हैं, तो कुछ और करें। अगर उनमें से कोई भी असफल हो जाता है, तो पूरी चीज विफल हो जाती है" का वर्कफ़्लो।

प्रकटीकरण, लापरवाही प्लग आगे: The book that Jesse Liberty and I wrote about Rx को इस प्रश्न को हल करने के लिए डिज़ाइन किया गया था, "मैं अपने दिन-प्रतिदिन काम में आरएक्स का उपयोग कैसे करूं?"; "मैं इसके साथ क्या कर सकता हूं?"

+0

यह सिर्फ यह स्पष्ट कर दिया कि मुझे आरएक्स चाहिए या चाहिए – frostymarvelous

संबंधित मुद्दे