[C#] مقدمة جيدة لإطار عمل .NET Reactive Framework


Answers

تحديث : لقد ألغيت مشاركات المدونة أدناه من خلال كتابي على الإنترنت introtorx.com . وهو كتاب شامل 19 الفصل متاح مجانا. يمكنك تصفحها على شبكة الإنترنت ، أو تنزيل إصدار موبي لأوقدك. يمكنك أيضًا الحصول عليه مباشرةً من Amazon مقابل رسوم بسيطة (~ 99c / 77p). إذا كان الكتاب لا يلبي احتياجاتك أو توقعاتك ، دعني أعرف (المؤلف) وسنفعل بشكل أفضل لـ v2.

نشكرك على رابط المشاركة الساخنة / الباردة. هذا جزء واحد فقط من السلسلة الكاملة ،

  1. مقدمة في آر إكس
  2. طرق ثابتة وإرشادية
  3. إدارة مدى الحياة - إكمال وإلغاء الاشتراك
  4. التحكم في التدفق
  5. الجمع بين عدة تدفقات IObservable
  6. الجدولة والخيوط
  7. الملاحظات الساخنة والباردة
  8. اختبار آر إكس
  9. المخزن المؤقت ، النافذة ، الانضمام والانضمام إلى المجموعة

سأبقي تحديث هذه المدونة مع المزيد من الاشياء التمهيدية Rx.

لمزيد من الاشياء المتقدمة التي تريد الذهاب إلى منتدى Rx (MSDN).

Question

بصرف النظر عن وثائق Microsoft ، هل هناك مقدمة وتعليم جيدان لإطار Microsoft Reactive (Rx)؟

أيضا ، ما هو مثال جيد (مع رمز) أن Reactive يجعل من السهل حل مشكلة البرمجة التي تحل حل باستخدام تقنيات الترميز غير المتزامن التقليدية؟







بالإضافة إلى روابط Andreas Hoffmann (وجدتها مفيدة جدًا عندما كنت أتعلم Rx)

وهنا بعض من بارت دو سميت (رجل ذكي جدا يشرح الأمور بشكل جيد) الفيديو:

كندة من خلال Rx:
آر إكس - علاج بلوز غير متزامن البرمجة

بعض gory insides + some philosophy ، هذه الفيديوهات مفيدة حقًا:
دقيقة LINQ - جوهر LINQ
(يتعامل الفيديو أعلاه مع كيفية ارتباط LINQ بأشياء أخرى ، مثل Rx)

ملاحظات على IQBServable - المزدوج من IQUeryable




انتقل من خلال هذه المقالات ، وعلى وجه الخصوص ، قم بتنزيل التعليمات البرمجية المصدر ذات الصلة واللعب معها.

ثق هذا سيساعد




والأمر الغريب هو أن Rx-Framework لميزة "الإضافات التفاعلية" ترتبط بالعديد من مقاطع الفيديو والمدونات ، ولكنها تنسى أن ترتبط بالوثائق المرجعية الرسمية الشاملة. هذا عار على البكاء ، إذا كنت تعرف الفريق ، فالرجاء مطالبته بإصلاح موقعه على الويب!




إليك مثال على شيء يسهل القيام به مع البرمجة التفاعلية ، ولكن الفوضى (إن لم تكن صعبة) مع الأحداث الكلاسيكية ، فإنه يرسم الخطوط بينما يكون زر الماوس لأسفل. يمكن قراءتها ، وليس هناك معالجة صريحة للدولة:

var pen = new Pen(Color.Red, 3);
var graphics = this.CreateGraphics();

var mouseMoveWhileDown = 
    from md in this.GetMouseDown()
    from mv in this.GetMouseMove().Until(this.GetMouseUp())
    select new Point(mv.X, mv.Y);

mouseMoveWhileDown
    .Pairwise()
    .Subscribe(tup => graphics.DrawLine(pen, tup.Item1, tup.Item2)); 

(يجب أن أعترف أنه في هذا المثال ، يكون () () pairwise () محليًا ...

أهم شيء عن IObservable هو أنه "قابل للتكوين" ، تماما مثل IEnumerable.

أنا أوصي بشدة بالفيديو المذكور في إجابة أخرى. في الواقع ، هناك العديد من مقاطع الفيديو المختلفة حول هذا الموضوع على Channel9:










Links