2009-11-18 5 views
8

.NET 4.0 में नए Reactive Framework के आसपास काफी प्रचार किया गया है। जबकि मुझे लगता है कि मैंने अपनी बुनियादी अवधारणा को कमजोर कर दिया है, मुझे पूरी तरह से बेचा नहीं गया है कि यह उपयोगी है। क्या आप एक अच्छे उदाहरण के साथ आ सकते हैं (जो आधे रास्ते को समझने में आसान है) जो आरएक्स की शक्ति और उपयोगीता का पूरी तरह से दिखाता है? ऐसा कुछ दिखाएं जो आरएक्स के साथ किए जाने पर जीवन को इतना आसान बनाता है।.NET उदाहरणों के लिए प्रतिक्रियाशील फ्रेमवर्क जो इसकी उपयोगिता साबित करता है

+0

यहां एक उदाहरण देखें: http://stackoverflow.com/questions/1596158/good-introduction-to-the-net-reactive-framework/1749252#1749252 – Benjol

+1

उपयोगी धक्का कब होता है? उपयोगी खींच रहा है कब? –

उत्तर

9

यहां एक त्वरित उदाहरण है। LINQ से ईवेंट का उपयोग करके, एक पूरी तरह से घोषणात्मक तरीके से एक ड्रैग ऑपरेशन प्रोग्राम करें।

//Create an observable with the initial position and dragged points using LINQ to Events 
    var mouseDragPoints = from md in e.GetMouseDown() 
          let startpos=md.EventArgs.GetPosition(e) 
          from mm in e.GetMouseMove().Until(e.GetMouseUp()) 
          select new 
          { 
          StartPos = startpos, 
          CurrentPos = mm.EventArgs.GetPosition(e), 
          }; 

और startpos से एक रेखा खींच वर्तमान स्थिति

//Subscribe and draw a line from start position to current position 
      mouseDragPoints.Subscribe 
       (item => 
       { 
        //Draw a line from item.Startpos to item.CurrentPos 
       } 
       ); 

जैसा कि आप देख सकते हैं, वहाँ राज्य के प्रबंधन के लिए सभी स्थानों पर कोई ईवेंट हैंडलर्स, और न ही बूलियन चर हैं करने के लिए।

यदि आप उन GetEventName() विधियों के बारे में उत्सुक हैं, तो आप इस पूरे लेख को पढ़ने और स्रोत कोड डाउनलोड करने और इसके साथ खेलने का सुझाव देते हैं।

Read it here and play with the source >>

+0

बहुत विस्तृत उत्तर लेकिन समझने में इतना आसान नहीं है। मुझे कुछ पढ़ना होगा ... – bitbonk

+0

सवाल सिर्फ एक उदाहरण देने के लिए था। यदि आप मूल बातें छूना चाहते हैं तो यहां एक अच्छा पठन है - http://amazedsaint.blogspot.com/2009/11/systemreactive-or-net-reactive.html – amazedsaint

0

मैं हाल ही में अपने ब्लॉग पर एक डेमो कदम-दर-कदम लिखा है: http://blog.andrei.rinea.ro/2013/06/01/bing-it-on-reactive-extensions-story-code-and-slides/

मैं मूल रूप से साथ आरएक्स और बिंग खोज WPF में एक छोटा सा एप्लिकेशन बनाने हूँ:

enter image description here

ऐप तब तक इंतजार करेगा जब तक कि आप टाइपिंग बंद नहीं करते हैं और फिर एसिंक खोज करते हैं और परिणाम प्रस्तुत करते हैं। यदि परिणाम आने से पहले आप एक और खोज जारी करते हैं तो यह स्वचालित रूप से मौजूदा खोज को छोड़ देगा।

आप ENTER दबाकर या "जाओ!" दबाकर एक खोज (प्रतीक्षा समय छोड़ने के लिए) को मजबूर कर सकते हैं। बटन और साफ़ बटन दबाकर चल रही खोज को रोक सकता है। एक व्यस्त संकेतक और कुछ त्रुटि हैंडलिंग (उदाहरण के लिए नेटवर्क नीचे चला जाता है)।

मुख्य विषयों को कवर:

  • एक घटना (TextChanged, Button.Click आदि)
  • Async प्रतिनिधि (async खोज)
  • TakeUntil विस्तार
  • DistinctUntilChanged विस्तार (कस्टम को शामिल करने से एक नमूदार बनाना बराबर)
  • विस्तार मर्ज करें
  • थ्रोटल एक्सटेंशन
  • निरीक्षण करें (यूआई थ्रेड सिंक-आईएनजी के लिए)

.. और अधिक!

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

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