मैं एक नई वित्तीय विश्लेषण परियोजना पर आरएक्स का उपयोग कर रहा हूं जो सभी डेटा को असीमित रूप से प्राप्त करता है। मैं अपनी व्यक्तिगत उत्पादकता पर बहुत आश्चर्यचकित हूं और मेरा इवेंट आधारित कोड कितना अधिक समझ में आता है (जैसा कि जटिल नेस्टेड आईएफएस और यादृच्छिक राज्य चर के साथ इवेंट हैंडलर के पिछले मॉडल के विपरीत है।)। क्या किसी और के साथ खेलने का मौका मिला है, और यदि ऐसा है तो आपके कुछ विचार क्या हैं?क्या आरएक्स एक्सटेंशन जटिल घटना संचालित प्रोग्रामिंग की समस्या "हल" है?
उत्तर
मेरा मानना है कि प्रतिक्रियाशील एक्सटेंशन जटिल, घटना संचालित प्रोग्रामिंग के कुछ हिस्सों को नाटकीय रूप से सरल बनाते हैं, लेकिन पूरी तरह से समस्या "हल" नहीं होती है।
यह कई परिस्थितियों को संभालता है जो पहले से कहीं अधिक स्वच्छ, अधिक सुरुचिपूर्ण तरीका है। हालांकि, यह (अनिवार्य रूप से) कुछ असीमित पैटर्न के पीढ़ी के पक्ष में हमेशा मदद नहीं करता है, जहां घटना संचालित प्रोग्रामिंग अभी भी मुश्किल है। आरएक्स वास्तव में घटना के सदस्यता पक्ष को संभालने पर केंद्रित है, लेकिन जरूरी नहीं कि समीकरण के उत्पादन पक्ष।
कुछ विशिष्ट नमूनों के लिए, और सी # के भविष्य के संस्करणों के बारे में क्या विचार किया जा रहा है, इसका विचार कुछ जटिल एसिंक्रोनस मॉडल को संभालने के लिए, मैं Luca Bolognese's PDC Talk देखने की अनुशंसा करता हूं। उन्होंने कुछ विचार प्रस्तुत किए जो भाषा टीम घटनाओं की पीढ़ी का समर्थन करने के लिए भाषा सुविधाओं के साथ सीधे IAsync<T>
का उत्पादन करने के लिए सिंटैक्स जैसे "इटरेटर" जैसे एसिंक्रोनस विकास के संलेखन पक्ष में मदद करने के लिए काम कर रही है।
मैंने अभी आरएक्स एक्सटेंशन पर एक वेबकास्ट देखा है, इसके साथ नहीं खेला है, और स्पष्टीकरण बहुत जटिल पाया है ... मैंने सोचा कि निर्माता आर्किटेक्ट अंतरिक्ष यात्री थे।
अभी के लिए मुझे नहीं लगता कि क्लासिक इवेंट हैंडलर के साथ समस्या कहां है ... मुझे हमेशा क्लासिक और सेवा के बीच एसिंक्रोनस संचार का उपयोग करने के लिए सुरुचिपूर्ण समाधान मिल गया है।
हालांकि मैं इस धागे के उत्तरों के आधार पर इस ढांचे के साथ अन्य लोगों के अनुभवों से उत्सुक हूं, मैं इसे एक और प्रयास दूंगा।
कोई समस्या नहीं है, बस आरएक्स इसे आसान बनाता है। उदाहरण के लिए, इसे संसाधित करने के लिए खींचें और छोड़ें, आपको अपने ईवेंट में ध्वज के चारों ओर गुज़रना होगा कि माउस बटन क्लिक किया गया है या नहीं। आरएक्स के साथ आप माउस डाउन, अप, मूव इत्यादि की सदस्यता ले सकते हैं और घटना के लिए घटना में ध्वज पास करने की आवश्यकता के बिना ईवेंट को संसाधित करने के लिए LINQ का उपयोग करने के बजाय। – epitka
http://channel9.msdn.com/posts/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues में, बार्ट डी स्मेट उत्कृष्ट रूप से बताता है कि कैसे प्रथम श्रेणी की अवधारणा के रूप में हैंडलिंग इवेंट स्ट्रीम आपको इस तरह के कार्यान्वयन के बारे में सोचने के द्वारा अमूर्तता का स्तर बढ़ाती है। थ्रॉटल या डिस्टिंट अनलिट हर बार अनिवार्य रूप से त्रुटि-प्रवण बॉयलरप्लेट कोड के साथ बदल दिया जाता है। ये ऑपरेटर इन व्यवहारों को एक पुन: प्रयोज्य और संगत तरीके से समाहित करते हैं। तो मेरी राय यह है कि आगे के विकास के लिए निश्चित रूप से जगह है (उदाहरण के लिए ठंडे अवलोकनों के बारे में चिंताओं को देखें), लेकिन ये उपकरण हर डेवलपर के टूलबॉक्स में होना चाहिए। सामान्य नियंत्रण प्रवाह संरचनाएं इसे एकल-थ्रेडेड निष्पादन के लिए काट सकती हैं, लेकिन आज की अत्यधिक समवर्ती, वितरित दुनिया में, मुझे लगता है कि अवलोकन (या इससे भी बेहतर, इवेंटस्ट्रीम/संपत्ति) एक उचित अमूर्त है।
- 1. प्रतिक्रियाशील एक्सटेंशन (आरएक्स)
- 2. डेटा-संचालित प्रोग्रामिंग क्या है?
- 3. आरएक्स प्रतिक्रियाशील प्रोग्रामिंग से कैसे संबंधित है?
- 4. प्रतिक्रियाशील एक्सटेंशन (आरएक्स)
- 5. प्रतिक्रियाशील एक्सटेंशन (आरएक्स)
- 6. आरएक्स एक्सटेंशन: समानांतर कहां है। के लिए?
- 7. जावा और इवेंट संचालित प्रोग्रामिंग
- 8. पायथन जटिल घटना प्रसंस्करण
- 9. डोमेन संचालित डिज़ाइन: जटिल डेटा की सूची कैसे प्राप्त करें
- 10. कार्यात्मक प्रोग्रामिंग + डोमेन-संचालित डिजाइन
- 11. इवेंट संचालित बनाम अनुक्रमिक प्रोग्रामिंग
- 12. आरएक्स शेड्यूलर - यह क्या है?
- 13. संदेश संचालित बनाम घटना संचालित अनुप्रयोगों के लिए प्रेरित दृष्टिकोण
- 14. किस तरह की समस्या कार्यात्मक प्रोग्रामिंग उपयुक्त है?
- 15. हुड के तहत लागू Win32 इवेंट-संचालित प्रोग्रामिंग कैसा है?
- 16. गिट विलय की समस्या को कैसे हल करता है?
- 17. जावास्क्रिप्ट - घटना संचालित और समवर्ती मुद्दों?
- 18. रेलवे पर घटना/पर्यवेक्षक संचालित रूबी
- 19. आरएक्स में रन एंड डू के बीच क्या अंतर है?
- 20. छद्मोकोड प्रोग्रामिंग प्रक्रिया बनाम टेस्ट संचालित विकास
- 21. टेस्ट संचालित विकास और जोड़ी प्रोग्रामिंग
- 22. गतिशील प्रोग्रामिंग समस्या
- 23. आरएक्स स्विच() ऑपरेटर के साथ क्या हुआ?
- 24. सी # 5.0 एसिंक/प्रतीक्षा सुविधा और आरएक्स - प्रतिक्रियाशील एक्सटेंशन
- 25. प्रतिक्रियाशील एक्सटेंशन (आरएक्स) कार्य समांतर पुस्तकालय का अधिग्रहण करेगा?
- 26. इवेंट संचालित प्रोग्रामिंग कैसे कार्यान्वित किया जाता है?
- 27. घटना "चेनिंग" के साथ समस्या
- 28. JSON पार्स समस्या हल नहीं
- 29. डोमेन संचालित डिज़ाइन क्या है?
- 30. Chrome एक्सटेंशन घटना श्रोता आग बार
रीड, हमेशा के रूप में उत्कृष्ट उत्तर। आपने मुझे यह भी महसूस किया कि मुझे घटनाओं के उपभोक्ताओं के रूप में सामना करने वाली कठिनाइयों को दर्शाने के लिए मेरे प्रश्न को कैलिब्रेट करना चाहिए, जिसमें बहुत मुश्किल सिंक्रनाइज़ेशन शामिल है, और क्या आरएक्स उन चिंताओं को संबोधित करता है। – Pierreten